Move usage of 16 bit specific functions (MapSL) in 16 bit code only.
authorEric Pouech <pouech-eric@wanadoo.fr>
Mon, 1 Dec 2003 22:38:19 +0000 (22:38 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 1 Dec 2003 22:38:19 +0000 (22:38 +0000)
dlls/winmm/lolvldrv.c
dlls/winmm/mmsystem.c
dlls/winmm/winemm.h
dlls/winmm/winmm.c

index 706dc597fcdf5dc0f3b8435b08a0727cc0e0ea01..26e06fea0382496112be4c73ba2b5a9f50a75baf 100644 (file)
@@ -461,25 +461,19 @@ LPWINE_MLD        MMDRV_GetRelated(HANDLE hndl, UINT srcType,
  *                             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");
@@ -496,18 +490,12 @@ UINT      MMDRV_PhysicalFeatures(LPWINE_MLD mld, UINT uMsg, DWORD dwParam1,
 
     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*/
index 914d3409ffce27cc20318d2ab31e84ef509fe1be..2b29519d5554a43ef91e851e67651e3e0599b710 100644 (file)
@@ -1485,7 +1485,9 @@ DWORD WINAPI waveOutMessage16(HWAVEOUT16 hWaveOut, UINT16 uMessage,
 
     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;
     }
@@ -1726,7 +1728,9 @@ DWORD WINAPI waveInMessage16(HWAVEIN16 hWaveIn, UINT16 uMessage,
 
     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;
     }
index b721fa6a58b005041855ff6f833ba327d5662466..5045c6a2e77e505e79006f9f3d0f4af80096feea 100644 (file)
@@ -243,7 +243,7 @@ DWORD               MMDRV_Close(LPWINE_MLD mld, UINT wMsg);
 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);
index 6adf4cf53291a7d38d7572d50e18fbd20463bd9d..82b4df64aed425c1000f20a4a90e4ce6fc7210e0 100644 (file)
@@ -1306,7 +1306,7 @@ UINT WINAPI midiOutMessage(HMIDIOUT hMidiOut, UINT uMessage,
            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;
     }
@@ -2619,7 +2619,7 @@ UINT WINAPI waveOutMessage(HWAVEOUT hWaveOut, UINT uMessage,
 
     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;
     }
@@ -2877,7 +2877,7 @@ UINT WINAPI waveInMessage(HWAVEIN hWaveIn, UINT uMessage,
 
     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;
     }