Module: wine Branch: master Commit: 73c7919c87a5b2206547211e40d84f478210187b URL: http://source.winehq.org/git/wine.git/?a=commit;h=73c7919c87a5b2206547211e40...
Author: Eric Pouech eric.pouech@orange.fr Date: Thu Oct 22 22:10:47 2009 +0200
winmm: Restrict exposure of WINE_MMTHREAD to mmsystem.
---
dlls/winmm/driver.c | 6 +++++- dlls/winmm/mmsystem.c | 2 -- dlls/winmm/winemm.h | 19 ------------------- dlls/winmm/winemm16.h | 18 ++++++++++++++++++ 4 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/dlls/winmm/driver.c b/dlls/winmm/driver.c index 317da60..58afcba 100644 --- a/dlls/winmm/driver.c +++ b/dlls/winmm/driver.c @@ -53,7 +53,6 @@ static LPWINE_DRIVER lpDrvItemList /* = NULL */; static const WCHAR HKLM_BASE[] = {'S','o','f','t','w','a','r','e','\','M','i','c','r','o','s','o','f','t','\', 'W','i','n','d','o','w','s',' ','N','T','\','C','u','r','r','e','n','t','V','e','r','s','i','o','n',0};
-WINE_MMTHREAD* (*pFnGetMMThread16)(UINT16 h) /* = NULL */; LPWINE_DRIVER (*pFnOpenDriver16)(LPCWSTR,LPCWSTR,LPARAM) /* = NULL */; LRESULT (*pFnCloseDriver16)(UINT16,LPARAM,LPARAM) /* = NULL */; LRESULT (*pFnSendMessage16)(UINT16,UINT,LPARAM,LPARAM) /* = NULL */; @@ -598,6 +597,10 @@ BOOL WINAPI DriverCallback(DWORD_PTR dwCallBack, DWORD uFlags, HDRVR hDev, TRACE("Event(%08lx) !\n", dwCallBack); SetEvent((HANDLE)dwCallBack); break; +#if 0 + /* FIXME: for now only usable in mmsystem.dll16 + * If needed, should be enabled back + */ case 6: /* I would dub it DCB_MMTHREADSIGNAL */ /* this is an undocumented DCB_ value used for mmThreads * loword of dwCallBack contains the handle of the lpMMThd block @@ -614,6 +617,7 @@ BOOL WINAPI DriverCallback(DWORD_PTR dwCallBack, DWORD uFlags, HDRVR hDev, /* some other stuff on lpMMThd->hVxD */ } break; +#endif #if 0 case 4: /* this is an undocumented DCB_ value for... I don't know */ diff --git a/dlls/winmm/mmsystem.c b/dlls/winmm/mmsystem.c index bf66e45..daf78d0 100644 --- a/dlls/winmm/mmsystem.c +++ b/dlls/winmm/mmsystem.c @@ -87,7 +87,6 @@ BOOL WINAPI MMSYSTEM_LibMain(DWORD fdwReason, HINSTANCE hinstDLL, WORD ds, return FALSE; } /* hook in our 16 bit function pointers */ - pFnGetMMThread16 = WINMM_GetmmThread; pFnOpenDriver16 = DRIVER_OpenDriver16; pFnCloseDriver16 = DRIVER_CloseDriver16; pFnSendMessage16 = DRIVER_SendMessage16; @@ -96,7 +95,6 @@ BOOL WINAPI MMSYSTEM_LibMain(DWORD fdwReason, HINSTANCE hinstDLL, WORD ds, MMDRV_Init16(); break; case DLL_PROCESS_DETACH: - pFnGetMMThread16 = NULL; pFnOpenDriver16 = NULL; pFnCloseDriver16 = NULL; pFnSendMessage16 = NULL; diff --git a/dlls/winmm/winemm.h b/dlls/winmm/winemm.h index 8bf2cae..a06daf2 100644 --- a/dlls/winmm/winemm.h +++ b/dlls/winmm/winemm.h @@ -115,24 +115,6 @@ typedef struct { WINE_MLD mld; } WINE_MIXER, *LPWINE_MIXER;
-#define WINE_MMTHREAD_CREATED 0x4153494C /* "BSIL" */ -#define WINE_MMTHREAD_DELETED 0xDEADDEAD - -typedef struct { - DWORD dwSignature; /* 00 "BSIL" when ok, 0xDEADDEAD when being deleted */ - DWORD dwCounter; /* 04 > 1 when in mmThread functions */ - HANDLE hThread; /* 08 hThread */ - DWORD dwThreadID; /* 0C */ - DWORD fpThread; /* 10 address of thread proc (segptr or lin depending on dwFlags) */ - DWORD dwThreadPmt; /* 14 parameter to be passed upon thread creation to fpThread */ - LONG dwSignalCount; /* 18 counter used for signaling */ - HANDLE hEvent; /* 1C event */ - HANDLE hVxD; /* 20 return from OpenVxDHandle */ - DWORD dwStatus; /* 24 0x00, 0x10, 0x20, 0x30 */ - DWORD dwFlags; /* 28 dwFlags upon creation */ - UINT16 hTask; /* 2C handle to created task */ -} WINE_MMTHREAD; - typedef struct tagWINE_MCIDRIVER { UINT wDeviceID; UINT wType; @@ -212,7 +194,6 @@ extern HANDLE psStopEvent; /* pointers to 16 bit functions (if sibling MMSYSTEM.DLL is loaded * NULL otherwise */ -extern WINE_MMTHREAD* (*pFnGetMMThread16)(UINT16); extern LPWINE_DRIVER (*pFnOpenDriver16)(LPCWSTR,LPCWSTR,LPARAM); extern LRESULT (*pFnCloseDriver16)(UINT16,LPARAM,LPARAM); extern LRESULT (*pFnSendMessage16)(UINT16,UINT,LPARAM,LPARAM); diff --git a/dlls/winmm/winemm16.h b/dlls/winmm/winemm16.h index 97b03ef..2435e90 100644 --- a/dlls/winmm/winemm16.h +++ b/dlls/winmm/winemm16.h @@ -79,3 +79,21 @@ extern void MMSYSTDRV_DeleteThunk(struct mmsystdrv_thunk* th extern void MMSYSTDRV_SetHandle(struct mmsystdrv_thunk* thunk, void* h); extern void MMSYSTDRV_CloseHandle(void* h); extern DWORD MMSYSTDRV_Message(void* h, UINT msg, DWORD_PTR param1, DWORD_PTR param2); + +#define WINE_MMTHREAD_CREATED 0x4153494C /* "BSIL" */ +#define WINE_MMTHREAD_DELETED 0xDEADDEAD + +typedef struct { + DWORD dwSignature; /* 00 "BSIL" when ok, 0xDEADDEAD when being deleted */ + DWORD dwCounter; /* 04 > 1 when in mmThread functions */ + HANDLE hThread; /* 08 hThread */ + DWORD dwThreadID; /* 0C */ + DWORD fpThread; /* 10 address of thread proc (segptr or lin depending on dwFlags) */ + DWORD dwThreadPmt; /* 14 parameter to be passed upon thread creation to fpThread */ + LONG dwSignalCount; /* 18 counter used for signaling */ + HANDLE hEvent; /* 1C event */ + HANDLE hVxD; /* 20 return from OpenVxDHandle */ + DWORD dwStatus; /* 24 0x00, 0x10, 0x20, 0x30 */ + DWORD dwFlags; /* 28 dwFlags upon creation */ + UINT16 hTask; /* 2C handle to created task */ +} WINE_MMTHREAD;