[PATCH 1/3] dmsynth: COM cleanup of IDirectMusicSynth8. Rename parameters.
Christian Costa
titan.costa at gmail.com
Mon Apr 30 04:43:17 CDT 2012
---
dlls/dmsynth/dmsynth_private.h | 2
dlls/dmsynth/synth.c | 284 ++++++++++++++++++++++++++--------------
2 files changed, 183 insertions(+), 103 deletions(-)
diff --git a/dlls/dmsynth/dmsynth_private.h b/dlls/dmsynth/dmsynth_private.h
index a3dde97..8cf787b 100644
--- a/dlls/dmsynth/dmsynth_private.h
+++ b/dlls/dmsynth/dmsynth_private.h
@@ -57,7 +57,7 @@ extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl (LPCGUID lpcGUID, LP
*/
struct IDirectMusicSynth8Impl {
/* IUnknown fields */
- const IDirectMusicSynth8Vtbl *lpVtbl;
+ IDirectMusicSynth8 IDirectMusicSynth8_iface;
LONG ref;
/* IDirectMusicSynth8 fields */
diff --git a/dlls/dmsynth/synth.c b/dlls/dmsynth/synth.c
index dda2c09..952bb62 100644
--- a/dlls/dmsynth/synth.c
+++ b/dlls/dmsynth/synth.c
@@ -21,9 +21,16 @@
WINE_DEFAULT_DEBUG_CHANNEL(dmsynth);
+static inline IDirectMusicSynth8Impl *impl_from_IDirectMusicSynth8(IDirectMusicSynth8 *iface)
+{
+ return CONTAINING_RECORD(iface, IDirectMusicSynth8Impl, IDirectMusicSynth8_iface);
+}
+
/* IDirectMusicSynth8Impl IUnknown part: */
-static HRESULT WINAPI IDirectMusicSynth8Impl_QueryInterface (LPDIRECTMUSICSYNTH8 iface, REFIID riid, LPVOID *ppobj) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
+static HRESULT WINAPI IDirectMusicSynth8Impl_QueryInterface(LPDIRECTMUSICSYNTH8 iface, REFIID riid, LPVOID *ppobj)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
TRACE("(%p, %s, %p)\n", This, debugstr_dmguid(riid), ppobj);
if (IsEqualIID (riid, &IID_IUnknown) ||
@@ -37,8 +44,9 @@ static HRESULT WINAPI IDirectMusicSynth8Impl_QueryInterface (LPDIRECTMUSICSYNTH8
return E_NOINTERFACE;
}
-static ULONG WINAPI IDirectMusicSynth8Impl_AddRef (LPDIRECTMUSICSYNTH8 iface) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
+static ULONG WINAPI IDirectMusicSynth8Impl_AddRef(LPDIRECTMUSICSYNTH8 iface)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
ULONG refCount = InterlockedIncrement(&This->ref);
TRACE("(%p)->(ref before=%u)\n", This, refCount - 1);
@@ -48,8 +56,9 @@ static ULONG WINAPI IDirectMusicSynth8Impl_AddRef (LPDIRECTMUSICSYNTH8 iface) {
return refCount;
}
-static ULONG WINAPI IDirectMusicSynth8Impl_Release (LPDIRECTMUSICSYNTH8 iface) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
+static ULONG WINAPI IDirectMusicSynth8Impl_Release(LPDIRECTMUSICSYNTH8 iface)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
ULONG refCount = InterlockedDecrement(&This->ref);
TRACE("(%p)->(ref before=%u)\n", This, refCount + 1);
@@ -64,144 +73,215 @@ static ULONG WINAPI IDirectMusicSynth8Impl_Release (LPDIRECTMUSICSYNTH8 iface) {
}
/* IDirectMusicSynth8Impl IDirectMusicSynth part: */
-static HRESULT WINAPI IDirectMusicSynth8Impl_Open (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTPARAMS pPortParams) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p): stub\n", This, pPortParams);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_Open(LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTPARAMS pPortParams)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p): stub\n", This, pPortParams);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_Close (LPDIRECTMUSICSYNTH8 iface) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p): stub\n", This);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_Close(LPDIRECTMUSICSYNTH8 iface)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(): stub\n", This);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_SetNumChannelGroups (LPDIRECTMUSICSYNTH8 iface, DWORD dwGroups) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %d): stub\n", This, dwGroups);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_SetNumChannelGroups(LPDIRECTMUSICSYNTH8 iface, DWORD groups)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p->(%d): stub\n", This, groups);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_Download (LPDIRECTMUSICSYNTH8 iface, LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p, %p, %p): stub\n", This, phDownload, pvData, pbFree);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_Download(LPDIRECTMUSICSYNTH8 iface, LPHANDLE hDownload, LPVOID data, LPBOOL free)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p, %p, %p): stub\n", This, hDownload, data, free);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_Unload (LPDIRECTMUSICSYNTH8 iface, HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p, %p): stub\n", This, hDownload, hUserData);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_Unload(LPDIRECTMUSICSYNTH8 iface, HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p, %p, %p): stub\n", This, hDownload, lpFreeHandle, hUserData);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_PlayBuffer (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, 0x%s, %p, %d): stub\n", This, wine_dbgstr_longlong(rt), pbBuffer, cbBuffer);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_PlayBuffer(LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, LPBYTE buffer, DWORD size)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(0x%s, %p, %u): stub\n", This, wine_dbgstr_longlong(rt), buffer, size);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_GetRunningStats (LPDIRECTMUSICSYNTH8 iface, LPDMUS_SYNTHSTATS pStats) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p): stub\n", This, pStats);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_GetRunningStats(LPDIRECTMUSICSYNTH8 iface, LPDMUS_SYNTHSTATS stats)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p): stub\n", This, stats);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_GetPortCaps (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTCAPS pCaps) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- TRACE("(%p, %p)\n", This, pCaps);
- *pCaps = This->pCaps;
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_GetPortCaps(LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTCAPS caps)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ TRACE("(%p)->(%p)\n", This, caps);
+
+ *caps = This->pCaps;
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_SetMasterClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock* pClock) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p): stub\n", This, pClock);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_SetMasterClock(LPDIRECTMUSICSYNTH8 iface, IReferenceClock* clock)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p): stub\n", This, clock);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_GetLatencyClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock** ppClock) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- TRACE("(%p, %p)\n", This, ppClock);
- *ppClock = This->pLatencyClock;
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_GetLatencyClock(LPDIRECTMUSICSYNTH8 iface, IReferenceClock** clock)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ TRACE("(%p)->(%p)\n", This, clock);
+
+ *clock = This->pLatencyClock;
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_Activate (LPDIRECTMUSICSYNTH8 iface, BOOL fEnable) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- TRACE("(%p, %d)\n", This, fEnable);
- This->fActive = fEnable;
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_Activate(LPDIRECTMUSICSYNTH8 iface, BOOL enable)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ TRACE("(%p)->(%d)\n", This, enable);
+
+ This->fActive = enable;
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_SetSynthSink (LPDIRECTMUSICSYNTH8 iface, IDirectMusicSynthSink* pSynthSink) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- TRACE("(%p, %p)\n", This, pSynthSink);
- This->pSynthSink = (IDirectMusicSynthSinkImpl*)pSynthSink;
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_SetSynthSink(LPDIRECTMUSICSYNTH8 iface, IDirectMusicSynthSink* synth_sink)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ TRACE("(%p)->(%p)\n", This, synth_sink);
+
+ This->pSynthSink = (IDirectMusicSynthSinkImpl*)synth_sink;
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_Render (LPDIRECTMUSICSYNTH8 iface, short* pBuffer, DWORD dwLength, LONGLONG llPosition) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p, %d, 0x%s): stub\n", This, pBuffer, dwLength, wine_dbgstr_longlong(llPosition));
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_Render(LPDIRECTMUSICSYNTH8 iface, short* buffer, DWORD length, LONGLONG position)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p, %d, 0x%s): stub\n", This, buffer, length, wine_dbgstr_longlong(position));
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_SetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) {
- /*IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface; */
- /* silenced because of too many messages - 1000 groups * 16 channels ;=) */
- /*FIXME("(%p, %ld, %ld, %ld): stub\n", This, dwChannelGroup, dwChannel, dwPriority); */
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_SetChannelPriority(LPDIRECTMUSICSYNTH8 iface, DWORD channel_group, DWORD channel, DWORD priority)
+{
+ /* IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface); */
+
+ /* Silenced because of too many messages - 1000 groups * 16 channels ;=) */
+ /* FIXME("(%p)->(%ld, %ld, %ld): stub\n", This, channel_group, channel, priority); */
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_GetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %d, %d, %p): stub\n", This, dwChannelGroup, dwChannel, pdwPriority);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_GetChannelPriority(LPDIRECTMUSICSYNTH8 iface, DWORD channel_group, DWORD channel, LPDWORD priority)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%d, %d, %p): stub\n", This, channel_group, channel, priority);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_GetFormat (LPDIRECTMUSICSYNTH8 iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p, %p): stub\n", This, pWaveFormatEx, pdwWaveFormatExSiz);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_GetFormat(LPDIRECTMUSICSYNTH8 iface, LPWAVEFORMATEX wave_format, LPDWORD wave_format_size)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p, %p): stub\n", This, wave_format, wave_format_size);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_GetAppend (LPDIRECTMUSICSYNTH8 iface, DWORD* pdwAppend) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p): stub\n", This, pdwAppend);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_GetAppend(LPDIRECTMUSICSYNTH8 iface, DWORD* append)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p): stub\n", This, append);
+
+ return S_OK;
}
/* IDirectMusicSynth8Impl IDirectMusicSynth8 part: */
-static HRESULT WINAPI IDirectMusicSynth8Impl_PlayVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwDLId, LONG prPitch, LONG vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, 0x%s, %d, %d, %d, %d, %i, %i,0x%s, 0x%s, 0x%s): stub\n",
- This, wine_dbgstr_longlong(rt), dwVoiceId, dwChannelGroup, dwChannel, dwDLId, prPitch, vrVolume,
- wine_dbgstr_longlong(stVoiceStart), wine_dbgstr_longlong(stLoopStart), wine_dbgstr_longlong(stLoopEnd));
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_PlayVoice(LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME ref_time, DWORD voice_id, DWORD channel_group, DWORD channel,
+ DWORD dwDLId, LONG prPitch, LONG vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(0x%s, %d, %d, %d, %d, %i, %i,0x%s, 0x%s, 0x%s): stub\n",
+ This, wine_dbgstr_longlong(ref_time), voice_id, channel_group, channel, dwDLId, prPitch, vrVolume,
+ wine_dbgstr_longlong(stVoiceStart), wine_dbgstr_longlong(stLoopStart), wine_dbgstr_longlong(stLoopEnd));
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_StopVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, 0x%s, %d): stub\n", This, wine_dbgstr_longlong(rt), dwVoiceId);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_StopVoice(LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME ref_time, DWORD voice_id)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(0x%s, %d): stub\n", This, wine_dbgstr_longlong(ref_time), voice_id);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_GetVoiceState (LPDIRECTMUSICSYNTH8 iface, DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[]) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %p, %d, %p): stub\n", This, dwVoice, cbVoice, dwVoiceState);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_GetVoiceState(LPDIRECTMUSICSYNTH8 iface, DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[])
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%p, %d, %p): stub\n", This, dwVoice, cbVoice, dwVoiceState);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_Refresh (LPDIRECTMUSICSYNTH8 iface, DWORD dwDownloadID, DWORD dwFlags) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %d, %d): stub\n", This, dwDownloadID, dwFlags);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_Refresh(LPDIRECTMUSICSYNTH8 iface, DWORD download_id, DWORD flags)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%d, %d): stub\n", This, download_id, flags);
+
+ return S_OK;
}
-static HRESULT WINAPI IDirectMusicSynth8Impl_AssignChannelToBuses (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses) {
- IDirectMusicSynth8Impl *This = (IDirectMusicSynth8Impl *)iface;
- FIXME("(%p, %d, %d, %p, %d): stub\n", This, dwChannelGroup, dwChannel, pdwBuses, cBuses);
- return S_OK;
+static HRESULT WINAPI IDirectMusicSynth8Impl_AssignChannelToBuses(LPDIRECTMUSICSYNTH8 iface, DWORD channel_group, DWORD channel, LPDWORD pdwBuses, DWORD cBuses)
+{
+ IDirectMusicSynth8Impl *This = impl_from_IDirectMusicSynth8(iface);
+
+ FIXME("(%p)->(%d, %d, %p, %d): stub\n", This, channel_group, channel, pdwBuses, cBuses);
+
+ return S_OK;
}
static const IDirectMusicSynth8Vtbl DirectMusicSynth8_Vtbl = {
@@ -243,7 +323,7 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicSynthImpl (LPCGUID lpcGUID, LPVOID* ppobj
*ppobj = NULL;
return E_OUTOFMEMORY;
}
- obj->lpVtbl = &DirectMusicSynth8_Vtbl;
+ obj->IDirectMusicSynth8_iface.lpVtbl = &DirectMusicSynth8_Vtbl;
obj->ref = 0;
/* fill in caps */
obj->pCaps.dwSize = sizeof(DMUS_PORTCAPS);
More information about the wine-patches
mailing list