Alexandre Julliard <julliard@winehq.org>
[reactos.git] / reactos / lib / winmm / mmsystem.c
index 98eb8e1..04a85fe 100644 (file)
@@ -59,7 +59,7 @@ static LRESULT          MMIO_Callback16(SEGPTR, LPMMIOINFO, UINT, LPARAM, LPARAM
  */\r
 \r
 /**************************************************************************\r
- *                     DllEntryPoint (MMSYSTEM.2046)\r
+ *                     DllEntryPoint (MMSYSTEM.4)\r
  *\r
  * MMSYSTEM DLL entry point\r
  *\r
@@ -74,12 +74,12 @@ BOOL WINAPI MMSYSTEM_LibMain(DWORD fdwReason, HINSTANCE hinstDLL, WORD ds,
        /* need to load WinMM in order to:\r
         * - initiate correctly shared variables (WINMM_Init())\r
         */\r
-        if (!GetModuleHandleA("WINMM.DLL") && !LoadLibraryA("WINMM.DLL"))\r
+        if (!GetModuleHandleA("WINMM.DLL"))\r
         {\r
             ERR("Could not load sibling WinMM.dll\n");\r
             return FALSE;\r
        }\r
-       WINMM_IData->hWinMM16Instance = hinstDLL;\r
+       WINMM_IData.hWinMM16Instance = hinstDLL;\r
         /* hook in our 16 bit function pointers */\r
         pFnGetMMThread16    = WINMM_GetmmThread;\r
         pFnOpenDriver16     = DRIVER_OpenDriver16;\r
@@ -91,7 +91,7 @@ BOOL WINAPI MMSYSTEM_LibMain(DWORD fdwReason, HINSTANCE hinstDLL, WORD ds,
         MMDRV_Init16();\r
        break;\r
     case DLL_PROCESS_DETACH:\r
-       WINMM_IData->hWinMM16Instance = 0;\r
+       WINMM_IData.hWinMM16Instance = 0;\r
         pFnGetMMThread16    = NULL;\r
         pFnOpenDriver16     = NULL;\r
         pFnCloseDriver16    = NULL;\r
@@ -114,7 +114,7 @@ BOOL WINAPI MMSYSTEM_LibMain(DWORD fdwReason, HINSTANCE hinstDLL, WORD ds,
 int WINAPI MMSYSTEM_WEP(HINSTANCE16 hInstance, WORD wDataSeg,\r
                         WORD cbHeapSize, LPSTR lpCmdLine)\r
 {\r
-    FIXME("STUB: Unloading MMSystem DLL ... hInst=%04X \n", hInstance);\r
+    TRACE("STUB: Unloading MMSystem DLL ... hInst=%04X \n", hInstance);\r
     return TRUE;\r
 }\r
 \r
@@ -1946,6 +1946,7 @@ LRESULT   WINAPI mmThreadCreate16(FARPROC16 fpThreadAddr, LPHANDLE16 lpHndl, DWORD
                    CloseHandle(lpMMThd->hEvent);\r
                ret = 2;\r
            } else {\r
+                SetThreadPriority(lpMMThd->hThread, THREAD_PRIORITY_TIME_CRITICAL);\r
                TRACE("Got a nice thread hndl=%p id=0x%08lx\n", lpMMThd->hThread, lpMMThd->dwThreadID);\r
                ret = 0;\r
            }\r