Leaked source code of windows server 2003
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.

105 lines
2.9 KiB

  1. /*
  2. dmbndtrk.h
  3. Copyright (c) 1997-1998 Microsoft Corporation. All rights reserved.
  4. Note: Contains private interfaces support by objects contained within
  5. dmband.dll. Originally written by Robert K. Amenn
  6. */
  7. #ifndef DMBNDTRK_H
  8. #define DMBNDTRK_H
  9. #include <windows.h>
  10. #define COM_NO_WINDOWS_H
  11. #include <objbase.h>
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. struct IDirectMusicBand;
  16. typedef struct _DMUS_IO_PATCH_ITEM
  17. {
  18. MUSIC_TIME lTime;
  19. BYTE byStatus;
  20. BYTE byPChange;
  21. BYTE byMSB;
  22. BYTE byLSB;
  23. DWORD dwFlags;
  24. BOOL fNotInFile; // set to true if this patch item was automatically generated
  25. IDirectMusicCollection* pIDMCollection;
  26. struct _DMUS_IO_PATCH_ITEM* pNext;
  27. } DMUS_IO_PATCH_ITEM;
  28. typedef enum enumDMUS_MIDIMODEF_FLAGS
  29. {
  30. DMUS_MIDIMODEF_GM = 0x1,
  31. DMUS_MIDIMODEF_GS = 0x2,
  32. DMUS_MIDIMODEF_XG = 0x4,
  33. } DMUS_MIDIMODEF_FLAGS;
  34. struct StampedGMGSXG
  35. {
  36. MUSIC_TIME mtTime;
  37. DWORD dwMidiMode;
  38. };
  39. /* Private Interface IDirectMusicBandTrk */
  40. interface IDirectMusicBandTrk;
  41. #ifndef __cplusplus
  42. typedef interface IDirectMusicBandTrk IDirectMusicBandTrk;
  43. #endif
  44. typedef IDirectMusicBandTrk __RPC_FAR *LPDIRECTMUSICBANDTRK;
  45. #undef INTERFACE
  46. #define INTERFACE IDirectMusicBandTrk
  47. DECLARE_INTERFACE_(IDirectMusicBandTrk, IUnknown)
  48. {
  49. /* IUnknown */
  50. STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
  51. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  52. STDMETHOD_(ULONG,Release) (THIS) PURE;
  53. /* IDirectMusicBandTrk */
  54. STDMETHOD(AddBand) (THIS_ DMUS_IO_PATCH_ITEM*) PURE;
  55. STDMETHOD(AddBand) (THIS_ IDirectMusicBand* pIDMBand) PURE;
  56. STDMETHOD(SetGMGSXGMode) (THIS_ MUSIC_TIME mtTime, DWORD dwMidiMode) PURE;
  57. };
  58. /* Private Interface IDirectMusicBandPrivate */
  59. interface IDirectMusicBandPrivate;
  60. #ifndef __cplusplus
  61. typedef interface IDirectMusicBandPrivate IDirectMusicBandPrivate;
  62. #endif
  63. typedef IDirectMusicBandPrivate __RPC_FAR *LPDIRECTMUSICBANDP;
  64. #undef INTERFACE
  65. #define INTERFACE IDirectMusicBandPrivate
  66. DECLARE_INTERFACE_(IDirectMusicBandPrivate, IUnknown)
  67. {
  68. /* IUnknown */
  69. STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
  70. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  71. STDMETHOD_(ULONG,Release) (THIS) PURE;
  72. /* IDirectMusicBandPrivate */
  73. STDMETHOD(GetFlags) (THIS_ DWORD* dwFlags) PURE;
  74. STDMETHOD(SetGMGSXGMode) (THIS_ DWORD dwMidiMode) PURE;
  75. };
  76. DEFINE_GUID(IID_IDirectMusicBandTrk, 0x53466056, 0x6dc4, 0x11d1, 0xbf, 0x7b, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef);
  77. DEFINE_GUID(IID_IDirectMusicBandPrivate,0xda54db81, 0x837d, 0x11d1, 0x86, 0xbc, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef);
  78. #ifdef __cplusplus
  79. }; /* extern "C" */
  80. #endif
  81. #endif /* #ifndef DMBNDTRK_H */