Avoid local WINAPI function pointers.

This commit is contained in:
Alexandre Julliard 2003-05-11 03:00:32 +00:00
parent 31c9b82411
commit 1bb3645443
1 changed files with 7 additions and 3 deletions

View File

@ -89,6 +89,9 @@ static void WINMM_DeleteIData(void)
* WINMM_LoadMMSystem * WINMM_LoadMMSystem
* *
*/ */
static HANDLE (WINAPI *pGetModuleHandle16)(LPCSTR);
static DWORD (WINAPI *pLoadLibrary16)(LPCSTR);
BOOL WINMM_CheckForMMSystem(void) BOOL WINMM_CheckForMMSystem(void)
{ {
/* 0 is not checked yet, -1 is not present, 1 is present */ /* 0 is not checked yet, -1 is not present, 1 is present */
@ -100,9 +103,10 @@ BOOL WINMM_CheckForMMSystem(void)
loaded = -1; loaded = -1;
if (h) if (h)
{ {
HANDLE (WINAPI *gmh)(LPCSTR) = (void*)GetProcAddress(h, "GetModuleHandle16"); pGetModuleHandle16 = (void*)GetProcAddress(h, "GetModuleHandle16");
DWORD (WINAPI *ll)(LPCSTR) = (void*)GetProcAddress(h, "LoadLibrary16"); pLoadLibrary16 = (void*)GetProcAddress(h, "LoadLibrary16");
if (gmh && ll && (gmh("MMSYSTEM.DLL") || ll("MMSYSTEM.DLL"))) if (pGetModuleHandle16 && pLoadLibrary16 &&
(pGetModuleHandle16("MMSYSTEM.DLL") || pLoadLibrary16("MMSYSTEM.DLL")))
loaded = 1; loaded = 1;
} }
} }