Sync to trunk (r44371)
[reactos.git] / reactos / include / reactos / libs / sound / mmebuddy.h
index b145c16..cbefa94 100644 (file)
@@ -249,6 +249,10 @@ typedef MMRESULT(*MMQUERYDEVICEINTERFACESTRING_FUNC)(
     IN  DWORD  InterfaceLength,
     OUT  DWORD * InterfaceSize);
 
+typedef MMRESULT(*MMRESETSTREAM_FUNC)(
+    IN  struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
+    IN  MMDEVICE_TYPE DeviceType,
+    IN  BOOLEAN bStartReset);
 
 typedef struct _MMFUNCTION_TABLE
 {
@@ -274,6 +278,7 @@ typedef struct _MMFUNCTION_TABLE
     MMGETPOS_FUNC                   GetPos;
     MMSETSTATE_FUNC                 SetState;
     MMQUERYDEVICEINTERFACESTRING_FUNC     GetDeviceInterfaceString;
+    MMRESETSTREAM_FUNC               ResetStream;
 
     // Redundant
     //MMWAVEHEADER_FUNC               PrepareWaveHeader;
@@ -334,8 +339,8 @@ typedef struct _SOUND_DEVICE_INSTANCE
     {
         HDRVR Handle;
         DWORD Flags;
-        DWORD ClientCallback;
-        DWORD ClientCallbackInstanceData;
+        DWORD_PTR ClientCallback;
+        DWORD_PTR ClientCallbackInstanceData;
     } WinMM;
 
     /* DO NOT TOUCH THESE OUTSIDE OF THE SOUND THREAD */
@@ -357,6 +362,8 @@ typedef struct _SOUND_DEVICE_INSTANCE
     DWORD FrameSize;
     DWORD BufferCount;
     WAVEFORMATEX WaveFormatEx;
+    HANDLE hNotifyEvent;
+    HANDLE hStopEvent;
 } SOUND_DEVICE_INSTANCE, *PSOUND_DEVICE_INSTANCE;
 
 /* This lives in WAVEHDR.reserved */
@@ -413,13 +420,13 @@ MmeOpenWaveDevice(
 
 MMRESULT
 MmeCloseDevice(
-    IN  DWORD PrivateHandle);
+    IN  DWORD_PTR PrivateHandle);
 
 MMRESULT
 MmeGetPosition(
     IN  MMDEVICE_TYPE DeviceType,
     IN  DWORD DeviceId,
-    IN  DWORD PrivateHandle,
+    IN  DWORD_PTR PrivateHandle,
     IN  MMTIME* Time,
     IN  DWORD Size);
 
@@ -434,7 +441,7 @@ MmeGetDeviceInterfaceString(
 
 MMRESULT
 MmeSetState(
-    IN  DWORD PrivateHandle,
+    IN  DWORD_PTR PrivateHandle,
     IN  BOOL bStart);
 
 
@@ -449,7 +456,7 @@ MmeSetState(
 
 MMRESULT
 MmeResetWavePlayback(
-    IN  DWORD PrivateHandle);
+    IN  DWORD_PTR PrivateHandle);
 
 
 /*
@@ -561,8 +568,8 @@ MMRESULT
 SetSoundDeviceInstanceMmeData(
     IN  PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
     IN  HDRVR MmeHandle,
-    IN  DWORD ClientCallback,
-    IN  DWORD ClientCallbackData,
+    IN  DWORD_PTR ClientCallback,
+    IN  DWORD_PTR ClientCallbackData,
     IN  DWORD Flags);