* MMDRV_PhysicalFeatures [internal]
*/
UINT MMDRV_PhysicalFeatures(LPWINE_MLD mld, UINT uMsg, DWORD dwParam1,
- DWORD dwParam2, BOOL bFrom32)
+ DWORD dwParam2)
{
WINE_MM_DRIVER* lpDrv = &MMDrvs[mld->mmdIndex];
- TRACE("(%p, %04x, %08lx, %08lx, %d)\n", mld, uMsg, dwParam1, dwParam2, bFrom32);
+ TRACE("(%p, %04x, %08lx, %08lx)\n", mld, uMsg, dwParam1, dwParam2);
/* all those function calls are undocumented */
switch (uMsg) {
case DRV_QUERYDRVENTRY:
- if (bFrom32)
- lstrcpynA((LPSTR)dwParam1, lpDrv->drvname, LOWORD(dwParam2));
- else
- lstrcpynA((LPSTR)MapSL(dwParam1), lpDrv->drvname, LOWORD(dwParam2));
+ lstrcpynA((LPSTR)dwParam1, lpDrv->drvname, LOWORD(dwParam2));
break;
case DRV_QUERYDEVNODE:
- if (bFrom32)
- *(LPDWORD)dwParam1 = 0L; /* should be DevNode */
- else
- *(DWORD*)MapSL(dwParam1) = 0L;
+ *(LPDWORD)dwParam1 = 0L; /* should be DevNode */
break;
case DRV_QUERYNAME:
WARN("NIY QueryName\n");
case DRVM_MAPPER_PREFERRED_GET:
/* FIXME: get from registry someday */
- if (bFrom32) {
- *((LPDWORD)dwParam1) = -1; /* No preferred device */
- break;
- }
- return MMSYSERR_INVALPARAM;
+ *((LPDWORD)dwParam1) = -1; /* No preferred device */
+ break;
case DRV_QUERYDEVICEINTERFACE:
case DRV_QUERYDEVICEINTERFACESIZE:
- if (bFrom32)
- return MMDRV_Message(mld, uMsg, dwParam1, dwParam2, TRUE);
-
- return MMSYSERR_INVALPARAM;
+ return MMDRV_Message(mld, uMsg, dwParam1, dwParam2, TRUE);
case DRV_QUERYDSOUNDIFACE: /* Wine-specific: Retrieve DirectSound interface */
case DRV_QUERYDSOUNDDESC: /* Wine-specific: Retrieve DirectSound driver description*/
if ((wmld = MMDRV_Get(HWAVEOUT_32(hWaveOut), MMDRV_WAVEOUT, FALSE)) == NULL) {
if ((wmld = MMDRV_Get(HWAVEOUT_32(hWaveOut), MMDRV_WAVEOUT, TRUE)) != NULL) {
- return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2, FALSE);
+ if (uMessage == DRV_QUERYDRVENTRY || uMessage == DRV_QUERYDEVNODE)
+ dwParam1 = (DWORD)MapSL(dwParam1);
+ return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2);
}
return MMSYSERR_INVALHANDLE;
}
if ((wmld = MMDRV_Get(HWAVEIN_32(hWaveIn), MMDRV_WAVEIN, FALSE)) == NULL) {
if ((wmld = MMDRV_Get(HWAVEIN_32(hWaveIn), MMDRV_WAVEIN, TRUE)) != NULL) {
- return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2, FALSE);
+ if (uMessage == DRV_QUERYDRVENTRY || uMessage == DRV_QUERYDEVNODE)
+ dwParam1 = (DWORD)MapSL(dwParam1);
+ return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2);
}
return MMSYSERR_INVALHANDLE;
}
LPWINE_MLD MMDRV_Get(HANDLE hndl, UINT type, BOOL bCanBeID);
LPWINE_MLD MMDRV_GetRelated(HANDLE hndl, UINT srcType, BOOL bSrcCanBeID, UINT dstTyped);
DWORD MMDRV_Message(LPWINE_MLD mld, WORD wMsg, DWORD dwParam1, DWORD dwParam2, BOOL bFrom32);
-UINT MMDRV_PhysicalFeatures(LPWINE_MLD mld, UINT uMsg, DWORD dwParam1, DWORD dwParam2, BOOL bFrom32);
+UINT MMDRV_PhysicalFeatures(LPWINE_MLD mld, UINT uMsg, DWORD dwParam1, DWORD dwParam2);
BOOL MMDRV_Is32(unsigned int);
void MMDRV_InstallMap(unsigned int, MMDRV_MAPFUNC, MMDRV_UNMAPFUNC,
MMDRV_MAPFUNC, MMDRV_UNMAPFUNC, LPDRVCALLBACK);
return 0;
}
if ((wmld = MMDRV_Get(hMidiOut, MMDRV_MIDIOUT, TRUE)) != NULL) {
- return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2, TRUE);
+ return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2);
}
return MMSYSERR_INVALHANDLE;
}
if ((wmld = MMDRV_Get(hWaveOut, MMDRV_WAVEOUT, FALSE)) == NULL) {
if ((wmld = MMDRV_Get(hWaveOut, MMDRV_WAVEOUT, TRUE)) != NULL) {
- return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2, TRUE);
+ return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2);
}
return MMSYSERR_INVALHANDLE;
}
if ((wmld = MMDRV_Get(hWaveIn, MMDRV_WAVEIN, FALSE)) == NULL) {
if ((wmld = MMDRV_Get(hWaveIn, MMDRV_WAVEIN, TRUE)) != NULL) {
- return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2, TRUE);
+ return MMDRV_PhysicalFeatures(wmld, uMessage, dwParam1, dwParam2);
}
return MMSYSERR_INVALHANDLE;
}