Move usage of 16 bit specific functions (MapSL) in 16 bit code only.
This commit is contained in:
parent
036dcf167e
commit
ce2d3ef77d
|
@ -53,6 +53,12 @@ static LRESULT DRIVER_CloseDriver16(HDRVR16, LPARAM, LPARAM);
|
|||
static LRESULT DRIVER_SendMessage16(HDRVR16, UINT, LPARAM, LPARAM);
|
||||
static LRESULT MMIO_Callback16(SEGPTR, LPMMIOINFO, UINT, LPARAM, LPARAM);
|
||||
|
||||
static void MMSYSTEM_Yield(void)
|
||||
{
|
||||
DWORD count;
|
||||
ReleaseThunkLock(&count);
|
||||
RestoreThunkLock(count);
|
||||
}
|
||||
|
||||
/* ###################################################
|
||||
* # LIBRARY #
|
||||
|
@ -87,6 +93,7 @@ BOOL WINAPI MMSYSTEM_LibMain(DWORD fdwReason, HINSTANCE hinstDLL, WORD ds,
|
|||
pFnCloseDriver16 = DRIVER_CloseDriver16;
|
||||
pFnSendMessage16 = DRIVER_SendMessage16;
|
||||
pFnMmioCallback16 = MMIO_Callback16;
|
||||
pFnYield16 = MMSYSTEM_Yield;
|
||||
MMDRV_Init16();
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
|
|
|
@ -348,6 +348,8 @@ MMRESULT WINAPI timeEndPeriod(UINT wPeriod)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void (*pFnYield16)(void) /* = NULL */;
|
||||
|
||||
/**************************************************************************
|
||||
* timeGetTime [MMSYSTEM.607]
|
||||
* timeGetTime [WINMM.@]
|
||||
|
@ -357,9 +359,7 @@ DWORD WINAPI timeGetTime(void)
|
|||
/* FIXME: releasing the win16 lock here is a temporary hack (I hope)
|
||||
* that lets mciavi.drv run correctly
|
||||
*/
|
||||
DWORD count;
|
||||
ReleaseThunkLock(&count);
|
||||
RestoreThunkLock(count);
|
||||
if (pFnYield16) pFnYield16();
|
||||
TIME_MMTimeStart();
|
||||
return WINMM_IData->mmSysTimeMS;
|
||||
}
|
||||
|
|
|
@ -305,7 +305,7 @@ extern WINMM_MapType (*pFnMciUnMapMsg32ATo16)(WORD,WORD,DWORD,DWORD);
|
|||
extern LRESULT (*pFnCallMMDrvFunc16)(DWORD /* in fact FARPROC16 */,WORD,WORD,LONG,LONG,LONG);
|
||||
extern unsigned (*pFnLoadMMDrvFunc16)(LPCSTR,LPWINE_DRIVER, LPWINE_MM_DRIVER);
|
||||
extern LRESULT (*pFnMmioCallback16)(DWORD,LPMMIOINFO,UINT,LPARAM,LPARAM);
|
||||
|
||||
extern void (*pFnYield16)(void);
|
||||
/* GetDriverFlags() returned bits is not documented (nor the call itself)
|
||||
* Here are Wine only definitions of the bits
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue