diff --git a/dlls/dsound/capture.c b/dlls/dsound/capture.c
index cd051b6..6fefcfa 100644
--- a/dlls/dsound/capture.c
+++ b/dlls/dsound/capture.c
@@ -801,7 +801,7 @@
 	        }
 	    }
 
-	    *ppobj = (LPVOID)This->notify;
+            *ppobj = This->notify;
 	    return DS_OK;
 	}
 
diff --git a/dlls/dsound/propset.c b/dlls/dsound/propset.c
index 4437222..43caa63 100644
--- a/dlls/dsound/propset.c
+++ b/dlls/dsound/propset.c
@@ -283,7 +283,7 @@
     TRACE("(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
 	  pPropData,cbPropData,pcbReturned);
 
-    ppd = (PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA) pPropData;
+    ppd = pPropData;
 
     if (!ppd) {
 	WARN("invalid parameter: pPropData\n");
@@ -346,7 +346,7 @@
     TRACE("(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
 	  pPropData,cbPropData,pcbReturned);
 
-    ppd = (PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA) pPropData;
+    ppd = pPropData;
 
     if (!ppd) {
 	WARN("invalid parameter: pPropData\n");
@@ -584,7 +584,7 @@
     ULONG cbPropData,
     PULONG pcbReturned )
 {
-    PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA ppd = (PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA) pPropData;
+    PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA ppd = pPropData;
     HRESULT err;
     GUID dev_guid;
     TRACE("(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
@@ -824,7 +824,7 @@
     ULONG cbPropData,
     PULONG pcbReturned )
 {
-    PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA ppd = (PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA) pPropData;
+    PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA ppd = pPropData;
     HRESULT err;
     GUID dev_guid;
     TRACE("pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
@@ -1147,7 +1147,7 @@
     ULONG cbPropData,
     PULONG pcbReturned )
 {
-    PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA ppd = (PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA) pPropData;
+    PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA ppd = pPropData;
     HRESULT err;
     TRACE("(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
           pPropData,cbPropData,pcbReturned);
@@ -1257,7 +1257,7 @@
     ULONG cbPropData,
     PULONG pcbReturned )
 {
-    PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA ppd = (PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA) pPropData;
+    PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA ppd = pPropData;
     HRESULT err;
     TRACE("(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
           pPropData,cbPropData,pcbReturned);
