From 22d7e0689afed336d057048e3cfa71de5a22d351 Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Sun, 18 Jan 2009 17:58:35 +0000 Subject: [PATCH] - Correct the ulAssemblyRosterIndex member of ACTCTX_SECTION_KEYED_DATA -- it is ULONG (MSDN is wrong here) - Fix Lsa IDL's LUID/PLUID definition - Silence winmm/midimap/wavemap warnings (these modules haven't been touched for a long time and are way out of sync) - Silence a ole32 warning -- should be sent to Wine too svn path=/trunk/; revision=38904 --- reactos/dll/win32/ole32/marshal.c | 2 +- reactos/dll/win32/ole32/warningfix.diff | 13 +++++++++++++ reactos/dll/win32/winmm/driver.c | 2 +- reactos/dll/win32/winmm/mci.c | 2 +- reactos/dll/win32/winmm/midimap/midimap.rbuild | 2 +- reactos/dll/win32/winmm/playsound.c | 6 +++--- reactos/dll/win32/winmm/registry.c | 11 +++++------ reactos/dll/win32/winmm/wavemap/wavemap.c | 12 ++++++------ reactos/dll/win32/winmm/wavemap/wavemap.rbuild | 2 +- reactos/dll/win32/winmm/winmm.rbuild | 2 +- reactos/include/psdk/winbase.h | 2 +- reactos/include/reactos/idl/lsa.idl | 5 ++++- 12 files changed, 38 insertions(+), 23 deletions(-) create mode 100644 reactos/dll/win32/ole32/warningfix.diff diff --git a/reactos/dll/win32/ole32/marshal.c b/reactos/dll/win32/ole32/marshal.c index 42ea68d453c..014ae6311e1 100644 --- a/reactos/dll/win32/ole32/marshal.c +++ b/reactos/dll/win32/ole32/marshal.c @@ -824,7 +824,7 @@ static inline void proxy_manager_set_context(struct proxy_manager *This, MSHCTX } while (new_dest_context != old_dest_context); if (dest_context_data) - InterlockedExchangePointer(&This->dest_context_data, dest_context_data); + (void)InterlockedExchangePointer(&This->dest_context_data, dest_context_data); } static HRESULT proxy_manager_query_local_interface(struct proxy_manager * This, REFIID riid, void ** ppv) diff --git a/reactos/dll/win32/ole32/warningfix.diff b/reactos/dll/win32/ole32/warningfix.diff new file mode 100644 index 00000000000..db19d3486f8 --- /dev/null +++ b/reactos/dll/win32/ole32/warningfix.diff @@ -0,0 +1,13 @@ +Index: marshal.c +=================================================================== +--- marshal.c (revision 38899) ++++ marshal.c (working copy) +@@ -824,7 +824,7 @@ + } while (new_dest_context != old_dest_context); + + if (dest_context_data) +- InterlockedExchangePointer(&This->dest_context_data, dest_context_data); ++ (void)InterlockedExchangePointer(&This->dest_context_data, dest_context_data); + } + + static HRESULT proxy_manager_query_local_interface(struct proxy_manager * This, REFIID riid, void ** ppv) diff --git a/reactos/dll/win32/winmm/driver.c b/reactos/dll/win32/winmm/driver.c index 7c86eb59ac4..d38efca8d30 100644 --- a/reactos/dll/win32/winmm/driver.c +++ b/reactos/dll/win32/winmm/driver.c @@ -586,7 +586,7 @@ BOOL WINAPI DriverCallback(DWORD dwCallBack, UINT uFlags, HDRVR hDev, TRACE("mmThread (%04x, %p) !\n", LOWORD(dwCallBack), lpMMThd); /* same as mmThreadSignal16 */ - InterlockedIncrement(&lpMMThd->dwSignalCount); + InterlockedIncrement((PLONG)&lpMMThd->dwSignalCount); SetEvent(lpMMThd->hEvent); /* some other stuff on lpMMThd->hVxD */ } diff --git a/reactos/dll/win32/winmm/mci.c b/reactos/dll/win32/winmm/mci.c index 664601ba973..d853528f499 100644 --- a/reactos/dll/win32/winmm/mci.c +++ b/reactos/dll/win32/winmm/mci.c @@ -833,7 +833,7 @@ static BOOL MCI_OpenMciDriver(LPWINE_MCIDRIVER wmd, LPCWSTR drvTyp, LPARAM lp) } else if (WINMM_CheckForMMSystem() && pFnMciMapMsg32WTo16) { WINMM_MapType res; - switch (res = pFnMciMapMsg32WTo16(0, DRV_OPEN, 0, &lp)) { + switch (res = pFnMciMapMsg32WTo16(0, DRV_OPEN, 0, (DWORD*)&lp)) { case WINMM_MAP_MSGERROR: TRACE("Not handled yet (DRV_OPEN)\n"); break; diff --git a/reactos/dll/win32/winmm/midimap/midimap.rbuild b/reactos/dll/win32/winmm/midimap/midimap.rbuild index 593399998f7..c7178b58a4c 100644 --- a/reactos/dll/win32/winmm/midimap/midimap.rbuild +++ b/reactos/dll/win32/winmm/midimap/midimap.rbuild @@ -1,4 +1,4 @@ - + . include/wine diff --git a/reactos/dll/win32/winmm/playsound.c b/reactos/dll/win32/winmm/playsound.c index a97e9967feb..417ebd2fcc1 100644 --- a/reactos/dll/win32/winmm/playsound.c +++ b/reactos/dll/win32/winmm/playsound.c @@ -154,7 +154,7 @@ static void CALLBACK PlaySound_Callback(HWAVEOUT hwo, UINT uMsg, case WOM_CLOSE: break; case WOM_DONE: - InterlockedIncrement(&s->dwEventCount); + InterlockedIncrement((PLONG)&s->dwEventCount); TRACE("Returning waveHdr=%lx\n", dwParam1); SetEvent(s->hEvent); break; @@ -167,8 +167,8 @@ static void PlaySound_WaitDone(struct playsound_data* s) { for (;;) { ResetEvent(s->hEvent); - if (InterlockedDecrement(&s->dwEventCount) >= 0) break; - InterlockedIncrement(&s->dwEventCount); + if (InterlockedDecrement((PLONG)&s->dwEventCount) >= 0) break; + InterlockedIncrement((PLONG)&s->dwEventCount); WaitForSingleObject(s->hEvent, INFINITE); } diff --git a/reactos/dll/win32/winmm/registry.c b/reactos/dll/win32/winmm/registry.c index 4ffa6132b97..80429b25b31 100644 --- a/reactos/dll/win32/winmm/registry.c +++ b/reactos/dll/win32/winmm/registry.c @@ -27,7 +27,6 @@ BOOL LoadRegistryMMEDrivers(char* key) INT driver_count = 0; INT driver_index = 0; HKEY drivers_key; - BOOL ret; DWORD value_name_length = 256; char value_name[value_name_length]; @@ -49,7 +48,7 @@ BOOL LoadRegistryMMEDrivers(char* key) &value_name_length, NULL, &value_type, - value_data, + (LPBYTE)value_data, &value_data_length) == ERROR_SUCCESS ) { BOOL valid_driver = FALSE; @@ -74,25 +73,25 @@ BOOL LoadRegistryMMEDrivers(char* key) is_mapper = TRUE; driver_count ++; } - else if ( ! strnicmp("wave", value_name, 4) ) + else if ( ! _strnicmp("wave", value_name, 4) ) { TRACE("Found a Wave driver: %s\n", value_data); valid_driver = TRUE; driver_count ++; } - else if ( ! strnicmp("midi", value_name, 4) ) + else if ( ! _strnicmp("midi", value_name, 4) ) { TRACE("Found a MIDI driver: %s\n", value_data); valid_driver = TRUE; driver_count ++; } - else if ( ! strnicmp("mixer", value_name, 5) ) + else if ( ! _strnicmp("mixer", value_name, 5) ) { TRACE("Found a mixer driver: %s\n", value_data); valid_driver = TRUE; driver_count ++; } - else if ( ! strnicmp("aux", value_name, 4) ) + else if ( ! _strnicmp("aux", value_name, 4) ) { TRACE("Found an aux driver: %s\n", value_data); valid_driver = TRUE; diff --git a/reactos/dll/win32/winmm/wavemap/wavemap.c b/reactos/dll/win32/winmm/wavemap/wavemap.c index 9fb8a7ed925..f6c9599a105 100644 --- a/reactos/dll/win32/winmm/wavemap/wavemap.c +++ b/reactos/dll/win32/winmm/wavemap/wavemap.c @@ -358,11 +358,11 @@ static DWORD wodPrepare(WAVEMAPDATA* wom, LPWAVEHDR lpWaveHdrSrc, DWORD dwParam2 ash->cbStruct = sizeof(*ash); ash->fdwStatus = 0L; ash->dwUser = (DWORD)lpWaveHdrSrc; - ash->pbSrc = lpWaveHdrSrc->lpData; + ash->pbSrc = (LPBYTE)lpWaveHdrSrc->lpData; ash->cbSrcLength = lpWaveHdrSrc->dwBufferLength; /* ash->cbSrcLengthUsed */ ash->dwSrcUser = lpWaveHdrSrc->dwUser; /* FIXME ? */ - ash->pbDst = (LPSTR)ash + sizeof(ACMSTREAMHEADER) + sizeof(WAVEHDR); + ash->pbDst = (LPBYTE)(LPSTR)ash + sizeof(ACMSTREAMHEADER) + sizeof(WAVEHDR); ash->cbDstLength = size; /* ash->cbDstLengthUsed */ ash->dwDstUser = 0; /* FIXME ? */ @@ -373,7 +373,7 @@ static DWORD wodPrepare(WAVEMAPDATA* wom, LPWAVEHDR lpWaveHdrSrc, DWORD dwParam2 } lpWaveHdrDst = (LPWAVEHDR)((LPSTR)ash + sizeof(ACMSTREAMHEADER)); - lpWaveHdrDst->lpData = ash->pbDst; + lpWaveHdrDst->lpData = (LPSTR)ash->pbDst; lpWaveHdrDst->dwBufferLength = size; /* conversion is not done yet */ lpWaveHdrDst->dwFlags = 0; lpWaveHdrDst->dwLoops = 0; @@ -912,11 +912,11 @@ static DWORD widPrepare(WAVEMAPDATA* wim, LPWAVEHDR lpWaveHdrDst, DWORD dwParam2 ash->cbStruct = sizeof(*ash); ash->fdwStatus = 0L; ash->dwUser = (DWORD)lpWaveHdrDst; - ash->pbSrc = (LPSTR)ash + sizeof(ACMSTREAMHEADER) + sizeof(WAVEHDR); + ash->pbSrc = (LPBYTE)(LPSTR)ash + sizeof(ACMSTREAMHEADER) + sizeof(WAVEHDR); ash->cbSrcLength = size; /* ash->cbSrcLengthUsed */ ash->dwSrcUser = 0L; /* FIXME ? */ - ash->pbDst = lpWaveHdrDst->lpData; + ash->pbDst = (LPBYTE)lpWaveHdrDst->lpData; ash->cbDstLength = lpWaveHdrDst->dwBufferLength; /* ash->cbDstLengthUsed */ ash->dwDstUser = lpWaveHdrDst->dwUser; /* FIXME ? */ @@ -927,7 +927,7 @@ static DWORD widPrepare(WAVEMAPDATA* wim, LPWAVEHDR lpWaveHdrDst, DWORD dwParam2 } lpWaveHdrSrc = (LPWAVEHDR)((LPSTR)ash + sizeof(ACMSTREAMHEADER)); - lpWaveHdrSrc->lpData = ash->pbSrc; + lpWaveHdrSrc->lpData = (LPSTR)ash->pbSrc; lpWaveHdrSrc->dwBufferLength = size; /* conversion is not done yet */ lpWaveHdrSrc->dwFlags = 0; lpWaveHdrSrc->dwLoops = 0; diff --git a/reactos/dll/win32/winmm/wavemap/wavemap.rbuild b/reactos/dll/win32/winmm/wavemap/wavemap.rbuild index ef2750297ac..dfaece3ec1f 100644 --- a/reactos/dll/win32/winmm/wavemap/wavemap.rbuild +++ b/reactos/dll/win32/winmm/wavemap/wavemap.rbuild @@ -1,4 +1,4 @@ - + . include/reactos/wine diff --git a/reactos/dll/win32/winmm/winmm.rbuild b/reactos/dll/win32/winmm/winmm.rbuild index 58185cd2c57..6070434f152 100644 --- a/reactos/dll/win32/winmm/winmm.rbuild +++ b/reactos/dll/win32/winmm/winmm.rbuild @@ -7,7 +7,7 @@ - + . include/reactos/wine diff --git a/reactos/include/psdk/winbase.h b/reactos/include/psdk/winbase.h index eb3ba2752c7..f706ef96c8b 100644 --- a/reactos/include/psdk/winbase.h +++ b/reactos/include/psdk/winbase.h @@ -1043,7 +1043,7 @@ typedef struct tagACTCTX_SECTION_KEYED_DATA { PVOID lpSectionBase; ULONG ulSectionTotalLength; HANDLE hActCtx; - HANDLE ulAssemblyRosterIndex; + ULONG ulAssemblyRosterIndex; } ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA; typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA; typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION { diff --git a/reactos/include/reactos/idl/lsa.idl b/reactos/include/reactos/idl/lsa.idl index 7c8b30b60c6..08b214ab504 100644 --- a/reactos/include/reactos/idl/lsa.idl +++ b/reactos/include/reactos/idl/lsa.idl @@ -10,7 +10,10 @@ typedef [context_handle] PVOID LSAPR_HANDLE; typedef LSAPR_HANDLE *PLSAPR_HANDLE; cpp_quote("#ifndef _WINNT_H") -typedef LARGE_INTEGER LUID, *PLUID; +typedef struct _LUID { + ULONG LowPart; + LONG HighPart; +} LUID, *PLUID; cpp_quote("#endif") cpp_quote("#ifndef _NTDEF_") -- 2.17.1