[PATCH 11/16] [WinMM, MMSystem]: restrict exposure of WINE_MMTHREAD to mmsystem
Eric Pouech
eric.pouech at orange.fr
Thu Oct 22 15:10:47 CDT 2009
A+
---
0 files changed, 0 insertions(+), 0 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;
More information about the wine-patches
mailing list