diff --git a/include/dsound.h b/include/dsound.h
index fd7ab964021914d1781061379a459fd411045037..418de116d0be16ecea8d92c306feac3f19545382 100644
--- a/include/dsound.h
+++ b/include/dsound.h
@@ -171,7 +171,7 @@ typedef LPVOID* LPLPVOID;
 typedef BOOL32 (CALLBACK *LPDSENUMCALLBACK32W)(LPGUID,LPWSTR,LPWSTR,LPVOID);
 typedef BOOL32 (CALLBACK *LPDSENUMCALLBACK32A)(LPGUID,LPSTR,LPSTR,LPVOID);
 
-extern HRESULT WINAPI DirectSoundCreate(LPGUID lpGUID,LPDIRECTSOUND * ppDS,IUnknown *pUnkOuter );
+extern HRESULT WINAPI DirectSoundCreate(REFGUID lpGUID,LPDIRECTSOUND * ppDS,IUnknown *pUnkOuter );
 
 #define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn)
 #define STDMETHOD_(ret,xfn) ret (CALLBACK *fn##xfn)
diff --git a/multimedia/dsound.c b/multimedia/dsound.c
index 77e5b0cdb73daeb3271dbbdab761717cf2c9b293..b0becda2638bb796df391a9f5e91493cf501d9cd 100644
--- a/multimedia/dsound.c
+++ b/multimedia/dsound.c
@@ -2073,7 +2073,7 @@ static DWORD WINAPI DSOUND_thread(LPVOID arg)
 
 #endif /* HAVE_OSS */
 
-HRESULT WINAPI DirectSoundCreate(LPGUID lpGUID,LPDIRECTSOUND *ppDS,IUnknown *pUnkOuter )
+HRESULT WINAPI DirectSoundCreate(REFGUID lpGUID,LPDIRECTSOUND *ppDS,IUnknown *pUnkOuter )
 {
 	if (lpGUID)
 		TRACE(dsound,"(%p,%p,%p)\n",lpGUID,ppDS,pUnkOuter);