[DSOUND] use windows memory functions

Robert Reif reif at earthlink.net
Sat Jan 22 14:02:27 CST 2005


Use windows memory functions.
-------------- next part --------------
Index: dlls/dsound/buffer.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/buffer.c,v
retrieving revision 1.41
diff -u -p -r1.41 buffer.c
--- dlls/dsound/buffer.c	23 Dec 2004 18:41:06 -0000	1.41
+++ dlls/dsound/buffer.c	22 Jan 2005 19:00:39 -0000
@@ -129,7 +129,7 @@ static HRESULT WINAPI IDirectSoundNotify
 		    WARN("out of memory\n");
 		    return DSERR_OUTOFMEMORY;
 	    }
-	    memcpy(This->dsb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
+	    CopyMemory(This->dsb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
 	    This->dsb->nrofnotifies = howmuch;
         } else {
            HeapFree(GetProcessHeap(), 0, This->dsb->notifies);
@@ -568,7 +568,7 @@ static HRESULT WINAPI IDirectSoundBuffer
 
     if (lpwf) { /* NULL is valid */
         if (wfsize >= size) {
-            memcpy(lpwf,This->pwfx,size);
+            CopyMemory(lpwf,This->pwfx,size);
             if (wfwritten)
                 *wfwritten = size;
         } else {
@@ -1059,7 +1059,7 @@ HRESULT WINAPI IDirectSoundBufferImpl_Cr
 	dsb->iks = NULL;
 
 	/* size depends on version */
-	memcpy(&dsb->dsbd, dsbd, dsbd->dwSize);
+	CopyMemory(&dsb->dsbd, dsbd, dsbd->dwSize);
 
 	/* variable sized struct so calculate size based on format */
 	if (wfex->wFormatTag == WAVE_FORMAT_PCM) {
@@ -1076,7 +1076,7 @@ HRESULT WINAPI IDirectSoundBufferImpl_Cr
 		return DSERR_OUTOFMEMORY;
 	}
 
-	memcpy(dsb->pwfx, wfex, cp_size);
+	CopyMemory(dsb->pwfx, wfex, cp_size);
 
 	dsb->buflen = dsbd->dwBufferBytes;
 	dsb->freq = dsbd->lpwfxFormat->nSamplesPerSec;
Index: dlls/dsound/capture.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/capture.c,v
retrieving revision 1.40
diff -u -p -r1.40 capture.c
--- dlls/dsound/capture.c	9 Jan 2005 16:42:53 -0000	1.40
+++ dlls/dsound/capture.c	22 Jan 2005 19:00:40 -0000
@@ -657,11 +657,11 @@ DSOUND_CreateDirectSoundCaptureBuffer(
 
         if (wfex->wFormatTag == WAVE_FORMAT_PCM) {
 	    ipDSC->pwfx = HeapAlloc(GetProcessHeap(),0,sizeof(WAVEFORMATEX));
-            memcpy(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX));
+            CopyMemory(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX));
 	    ipDSC->pwfx->cbSize = 0;
 	} else {
 	    ipDSC->pwfx = HeapAlloc(GetProcessHeap(),0,sizeof(WAVEFORMATEX)+wfex->cbSize);
-            memcpy(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX)+wfex->cbSize);
+            CopyMemory(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX)+wfex->cbSize);
         }
     } else {
 	WARN("lpcDSCBufferDesc->lpwfxFormat == 0\n");
@@ -692,7 +692,7 @@ DSOUND_CreateDirectSoundCaptureBuffer(
         This->pdscbd = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,
             lpcDSCBufferDesc->dwSize);
         if (This->pdscbd)
-            memcpy(This->pdscbd, lpcDSCBufferDesc, lpcDSCBufferDesc->dwSize);
+            CopyMemory(This->pdscbd, lpcDSCBufferDesc, lpcDSCBufferDesc->dwSize);
         else {
             WARN("no memory\n");
             This->dsound->capture_buffer = 0;
@@ -862,7 +862,7 @@ static HRESULT WINAPI IDirectSoundCaptur
 	    WARN("out of memory\n");
 	    return DSERR_OUTOFMEMORY;
 	}
-	memcpy(This->dscb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
+	CopyMemory(This->dscb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
 	This->dscb->nrofnotifies = howmuch;
     } else {
         HeapFree(GetProcessHeap(), 0, This->dscb->notifies);
@@ -1132,7 +1132,7 @@ IDirectSoundCaptureBufferImpl_GetFormat(
         dwSizeAllocated = sizeof(WAVEFORMATEX) + This->dsound->pwfx->cbSize;
 
     if (lpwfxFormat) { /* NULL is valid (just want size) */
-        memcpy(lpwfxFormat, This->dsound->pwfx, dwSizeAllocated);
+        CopyMemory(lpwfxFormat, This->dsound->pwfx, dwSizeAllocated);
         if (lpdwSizeWritten)
             *lpdwSizeWritten = dwSizeAllocated;
     } else {
@@ -1376,8 +1376,8 @@ IDirectSoundCaptureBufferImpl_Start(
 		    }
                 }
 
-                memset(ipDSC->buffer,
-                    (ipDSC->pwfx->wBitsPerSample == 8) ? 128 : 0, ipDSC->buflen);
+                FillMemory(ipDSC->buffer, ipDSC->buflen,
+                    (ipDSC->pwfx->wBitsPerSample == 8) ? 128 : 0);
             } else {
 		TRACE("no notifiers specified\n");
 		/* no notifiers specified so just create a single default header */
Index: dlls/dsound/dsound.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/dsound.c,v
retrieving revision 1.24
diff -u -p -r1.24 dsound.c
--- dlls/dsound/dsound.c	7 Dec 2004 14:23:46 -0000	1.24
+++ dlls/dsound/dsound.c	22 Jan 2005 19:00:41 -0000
@@ -538,7 +538,7 @@ static HRESULT WINAPI IDirectSoundImpl_D
         return DSERR_OUTOFMEMORY;
     }
 
-    memcpy(dsb, pdsb, sizeof(IDirectSoundBufferImpl));
+    CopyMemory(dsb, pdsb, sizeof(IDirectSoundBufferImpl));
 
     if (pdsb->hwbuf) {
         TRACE("duplicating hardware buffer\n");
@@ -596,7 +596,7 @@ static HRESULT WINAPI IDirectSoundImpl_D
             return DSERR_OUTOFMEMORY;
     }
 
-    memcpy(dsb->pwfx, pdsb->pwfx, size);
+    CopyMemory(dsb->pwfx, pdsb->pwfx, size);
 
     InitializeCriticalSection(&(dsb->lock));
     dsb->lock.DebugInfo->Spare[1] = (DWORD)"DSOUNDBUFFER_lock";
Index: dlls/dsound/dsound_main.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/dsound_main.c,v
retrieving revision 1.111
diff -u -p -r1.111 dsound_main.c
--- dlls/dsound/dsound_main.c	14 Jan 2005 15:12:43 -0000	1.111
+++ dlls/dsound/dsound_main.c	22 Jan 2005 19:00:42 -0000
@@ -287,19 +287,19 @@ HRESULT WINAPI GetDeviceID(LPCGUID pGuid
 
     if ( IsEqualGUID( &DSDEVID_DefaultPlayback, pGuidSrc ) ||
     	 IsEqualGUID( &DSDEVID_DefaultVoicePlayback, pGuidSrc ) ) {
-	memcpy(pGuidDest, &renderer_guids[ds_default_playback], sizeof(GUID));
+	CopyMemory(pGuidDest, &renderer_guids[ds_default_playback], sizeof(GUID));
         TRACE("returns %s\n", get_device_id(pGuidDest));
 	return DS_OK;
     }
 
     if ( IsEqualGUID( &DSDEVID_DefaultCapture, pGuidSrc ) ||
     	 IsEqualGUID( &DSDEVID_DefaultVoiceCapture, pGuidSrc ) ) {
-	memcpy(pGuidDest, &capture_guids[ds_default_capture], sizeof(GUID));
+	CopyMemory(pGuidDest, &capture_guids[ds_default_capture], sizeof(GUID));
         TRACE("returns %s\n", get_device_id(pGuidDest));
 	return DS_OK;
     }
 
-    memcpy(pGuidDest, pGuidSrc, sizeof(GUID));
+    CopyMemory(pGuidDest, pGuidSrc, sizeof(GUID));
     TRACE("returns %s\n", get_device_id(pGuidDest));
 
     return DS_OK;
Index: dlls/dsound/mixer.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/mixer.c,v
retrieving revision 1.26
diff -u -p -r1.26 mixer.c
--- dlls/dsound/mixer.c	8 Sep 2004 01:37:25 -0000	1.26
+++ dlls/dsound/mixer.c	22 Jan 2005 19:00:42 -0000
@@ -240,10 +240,10 @@ static INT DSOUND_MixerNorm(IDirectSound
 	        DWORD bytesleft = dsb->buflen - dsb->buf_mixpos;
 		TRACE("(%p) Best case\n", dsb);
 	    	if (len <= bytesleft )
-			memcpy(obp, ibp, len);
+			CopyMemory(obp, ibp, len);
 		else { /* wrap */
-			memcpy(obp, ibp, bytesleft );
-			memcpy(obp + bytesleft, dsb->buffer->memory, len - bytesleft);
+			CopyMemory(obp, ibp, bytesleft);
+			CopyMemory(obp + bytesleft, dsb->buffer->memory, len - bytesleft);
 		}
 		return len;
 	}
@@ -906,10 +906,10 @@ static void DSOUND_MixReset(IDirectSound
 
 	/* wipe out premixed data */
 	if (dsound->mixpos < writepos) {
-		memset(dsound->buffer + writepos, nfiller, dsound->buflen - writepos);
-		memset(dsound->buffer, nfiller, dsound->mixpos);
+		FillMemory(dsound->buffer + writepos, dsound->buflen - writepos, nfiller);
+		FillMemory(dsound->buffer, dsound->mixpos, nfiller);
 	} else {
-		memset(dsound->buffer + writepos, nfiller, dsound->mixpos - writepos);
+		FillMemory(dsound->buffer + writepos, dsound->mixpos - writepos, nfiller);
 	}
 
 	/* reset primary mix position */
@@ -995,10 +995,10 @@ void DSOUND_PerformMix(IDirectSoundImpl 
 		assert(dsound->playpos < dsound->buflen);
 		/* wipe out just-played sound data */
 		if (playpos < dsound->playpos) {
-			memset(dsound->buffer + dsound->playpos, nfiller, dsound->buflen - dsound->playpos);
-			memset(dsound->buffer, nfiller, playpos);
+			FillMemory(dsound->buffer + dsound->playpos, dsound->buflen - dsound->playpos, nfiller);
+			FillMemory(dsound->buffer, playpos, nfiller);
 		} else {
-			memset(dsound->buffer + dsound->playpos, nfiller, playpos - dsound->playpos);
+			FillMemory(dsound->buffer + dsound->playpos, playpos - dsound->playpos, nfiller);
 		}
 		dsound->playpos = playpos;
 
@@ -1070,7 +1070,7 @@ void DSOUND_PerformMix(IDirectSoundImpl 
 			inq = 0;
 			maxq = dsound->buflen;
 			if (maxq > frag) maxq = frag;
-			memset(dsound->buffer, nfiller, dsound->buflen);
+			FillMemory(dsound->buffer, dsound->buflen, nfiller);
 			paused = TRUE;
 		}
 
Index: dlls/dsound/primary.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/primary.c,v
retrieving revision 1.37
diff -u -p -r1.37 primary.c
--- dlls/dsound/primary.c	23 Dec 2004 18:41:06 -0000	1.37
+++ dlls/dsound/primary.c	22 Jan 2005 19:00:43 -0000
@@ -127,7 +127,7 @@ static HRESULT DSOUND_PrimaryOpen(IDirec
 			This->pwqueue = 0;
 			This->playpos = 0;
 			This->mixpos = 0;
-			memset(This->buffer, (This->pwfx->wBitsPerSample == 16) ? 0 : 128, This->buflen);
+			FillMemory(This->buffer, This->buflen, (This->pwfx->wBitsPerSample == 16) ? 0 : 128);
 			TRACE("fraglen=%ld\n", This->fraglen);
 			DSOUND_WaveQueue(This, (DWORD)-1);
 		}
@@ -371,7 +371,7 @@ static HRESULT WINAPI PrimaryBufferImpl_
 
 	nSamplesPerSec = dsound->pwfx->nSamplesPerSec;
 
-        memcpy(dsound->pwfx, wfex, cp_size);
+        CopyMemory(dsound->pwfx, wfex, cp_size);
 
 	if (dsound->drvdesc.dwFlags & DSDDESC_DOMMSYSTEMSETFORMAT) {
 		DWORD flags = CALLBACK_FUNCTION;
@@ -656,7 +656,7 @@ static HRESULT WINAPI PrimaryBufferImpl_
 
     if (lpwf) {	/* NULL is valid */
         if (wfsize >= size) {
-            memcpy(lpwf,This->dsound->pwfx,size);
+            CopyMemory(lpwf,This->dsound->pwfx,size);
             if (wfwritten)
                 *wfwritten = size;
         } else {
@@ -1089,7 +1089,7 @@ HRESULT WINAPI PrimaryBufferImpl_Create(
 	dsb->dsound = ds;
 	dsb->lpVtbl = &dspbvt;
 
-	memcpy(&ds->dsbd, dsbd, sizeof(*dsbd));
+	CopyMemory(&ds->dsbd, dsbd, sizeof(*dsbd));
 
 	TRACE("Created primary buffer at %p\n", dsb);
 	TRACE("(formattag=0x%04x,chans=%d,samplerate=%ld,"
Index: dlls/dsound/propset.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/propset.c,v
retrieving revision 1.29
diff -u -p -r1.29 propset.c
--- dlls/dsound/propset.c	9 Jan 2005 16:42:53 -0000	1.29
+++ dlls/dsound/propset.c	22 Jan 2005 19:00:44 -0000
@@ -859,7 +859,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
 		    err = mmErr(waveOutMessage((HWAVEOUT)wod,DRV_QUERYDSOUNDDESC,(DWORD)&desc,0));
 		    if (err == DS_OK) {
 			DWORD size;
-			memset(&data, 0, sizeof(data));
+			ZeroMemory(&data, sizeof(data));
 			data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
 			data.WaveDeviceId = wod;
 			data.DeviceId = renderer_guids[wod];
@@ -889,7 +889,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
 		    err = mmErr(waveInMessage((HWAVEIN)wid,DRV_QUERYDSOUNDDESC,(DWORD)&desc,0));
 		    if (err == DS_OK) {
 			DWORD size;
-			memset(&data, 0, sizeof(data));
+			ZeroMemory(&data, sizeof(data));
 			data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
 			data.WaveDeviceId = wid;
 			data.DeviceId = capture_guids[wid];
@@ -959,7 +959,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
 			    WCHAR * wInterface = HeapAlloc(GetProcessHeap(),0,size);
 			    err = mmErr(waveOutMessage((HWAVEOUT)wod, DRV_QUERYDEVICEINTERFACE, (DWORD_PTR)wInterface, size));
 			    if (err == DS_OK) {
-				memset(&data, 0, sizeof(data));
+				ZeroMemory(&data, sizeof(data));
 				data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
 				data.WaveDeviceId = wod;
 				data.DeviceId = renderer_guids[wod];
@@ -993,7 +993,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
 			    WCHAR * wInterface = HeapAlloc(GetProcessHeap(),0,size);
 			    err = mmErr(waveInMessage((HWAVEIN)wod, DRV_QUERYDEVICEINTERFACE, (DWORD_PTR)wInterface, size));
 			    if (err == DS_OK) {
-				memset(&data, 0, sizeof(data));
+				ZeroMemory(&data, sizeof(data));
 				data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
 				data.WaveDeviceId = wid;
 				data.DeviceId = capture_guids[wid];


More information about the wine-patches mailing list