Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.3 KiB

  1. // Copyright (c) 2000 Microsoft Corporation. All rights reserved.
  2. //
  3. // Code that needs to be shared between the script track (CDirectMusicScriptTrack) and
  4. // the script object (CDirectMusicScript, etc.).
  5. //
  6. #pragma once
  7. // Private script interface used by the script track to call routines. This is needed because
  8. // VBScript routines must be triggered asynchronously in order to avoid deadlocks with other
  9. // threads. This also helps to avoid starving the performance if routines have long loops.
  10. static const GUID IID_IDirectMusicScriptPrivate =
  11. { 0xf9a5071b, 0x6e0d, 0x498c, { 0x8f, 0xed, 0x56, 0x57, 0x1c, 0x1a, 0xb1, 0xa9 } };// {F9A5071B-6E0D-498c-8FED-56571C1AB1A9}
  12. interface IDirectMusicScriptPrivate : IUnknown
  13. {
  14. virtual HRESULT STDMETHODCALLTYPE ScriptTrackCallRoutine(
  15. WCHAR *pwszRoutineName,
  16. IDirectMusicSegmentState *pSegSt,
  17. DWORD dwVirtualTrackID,
  18. bool fErrorPMsgsEnabled,
  19. __int64 i64IntendedStartTime,
  20. DWORD dwIntendedStartTimeFlags)=0;
  21. };
  22. // Shared function used by the script track and by the script object for ScriptTrackCallRoutine.
  23. // Fills out and sends a DMUS_SCRIPT_TRACK_ERROR_PMSG for the given error.
  24. HRESULT FireScriptTrackErrorPMsg(IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualTrackID, DMUS_SCRIPT_ERRORINFO *pErrorInfo);