[WINMM_WINETEST] Sync with Wine Staging 2.9. CORE-13362
[reactos.git] / rostests / winetests / winmm / midi.c
index 6997821..bf2682a 100644 (file)
@@ -516,8 +516,8 @@ static void test_midiStream(UINT udev, HWND hwnd)
 
         rc = midiOutPrepareHeader((HMIDIOUT)hm, &mhdr, offsetof(MIDIHDR,dwOffset)-1);
         ok(rc==MMSYSERR_INVALPARAM, "midiOutPrepare tiny rc=%s\n", mmsys_error(rc));
-        rc = midiOutPrepareHeader((HMIDIOUT)hm, &mhdr, offsetof(MIDIHDR,dwOffset));
-        ok(!rc, "midiOutPrepare old size rc=%s\n", mmsys_error(rc));
+        rc = midiOutPrepareHeader((HMIDIOUT)hm, &mhdr, sizeof(mhdr));
+        ok(!rc, "midiOutPrepare size rc=%s\n", mmsys_error(rc));
         ok(mhdr.dwFlags & MHDR_PREPARED, "MHDR.dwFlags when prepared %x\n", mhdr.dwFlags);
 
         /* The device is still in paused mode and should queue the message. */
@@ -559,9 +559,9 @@ static void test_midiStream(UINT udev, HWND hwnd)
         /* Native fills dwOffset regardless of the cbMidiHdr size argument to midiStreamOut */
         ok(1234567890!=mhdr.dwOffset, "play left MIDIHDR.dwOffset at %u\n", mhdr.dwOffset);
 
-        rc = midiOutUnprepareHeader((HMIDIOUT)hm, &mhdr, offsetof(MIDIHDR,dwOffset));
+        rc = midiOutUnprepareHeader((HMIDIOUT)hm, &mhdr, sizeof(mhdr));
         ok(!rc, "midiOutUnprepare rc=%s\n", mmsys_error(rc));
-        rc = midiOutUnprepareHeader((HMIDIOUT)hm, &mhdr, offsetof(MIDIHDR,dwOffset));
+        rc = midiOutUnprepareHeader((HMIDIOUT)hm, &mhdr, sizeof(mhdr));
         ok(!rc, "midiOutUnprepare #2 rc=%s\n", mmsys_error(rc));
 
         trace("MIDIHDR stream flags=%x when finished\n", mhdr.dwFlags);
@@ -586,9 +586,9 @@ static void test_midiStream(UINT udev, HWND hwnd)
 
         mhdr.dwFlags |= MHDR_ISSTRM;
         /* Preset flags (e.g. MHDR_ISSTRM) do not disturb. */
-        rc = midiOutPrepareHeader((HMIDIOUT)hm, &mhdr, offsetof(MIDIHDR,dwOffset));
+        rc = midiOutPrepareHeader((HMIDIOUT)hm, &mhdr, sizeof(mhdr));
         ok(!rc, "midiOutPrepare used flags %x rc=%s\n", mhdr.dwFlags, mmsys_error(rc));
-        rc = midiOutUnprepareHeader((HMIDIOUT)hm, &mhdr, offsetof(MIDIHDR,dwOffset));
+        rc = midiOutUnprepareHeader((HMIDIOUT)hm, &mhdr, sizeof(mhdr));
         ok(!rc, "midiOutUnprepare used flags %x rc=%s\n", mhdr.dwFlags, mmsys_error(rc));
 
         rc = midiStreamRestart(hm);
@@ -837,10 +837,15 @@ static void test_midi_outfns(HWND hwnd)
 START_TEST(midi)
 {
     HWND hwnd = 0;
+
+    CoInitialize(NULL); /* Needed for Win 10 */
+
     if (1) /* select 1 for CALLBACK_WINDOW or 0 for CALLBACK_FUNCTION */
     hwnd = CreateWindowExA(0, "static", "winmm midi test", WS_POPUP, 0,0,100,100,
                            0, 0, 0, NULL);
     test_midi_infns(hwnd);
     test_midi_outfns(hwnd);
     if (hwnd) DestroyWindow(hwnd);
+
+    CoUninitialize();
 }