diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c index b83c033931f..e38d7735890 100644 --- a/dlls/dsound/dsound_main.c +++ b/dlls/dsound/dsound_main.c @@ -292,12 +292,15 @@ HRESULT WINAPI DirectSoundEnumerateA( LPVOID lpContext) { TRACE("lpDSEnumCallback = %p, lpContext = %p\n", - lpDSEnumCallback, lpContext); + lpDSEnumCallback, lpContext); #ifdef HAVE_OSS if (lpDSEnumCallback != NULL) - lpDSEnumCallback(NULL,"WINE DirectSound", - "sound",lpContext); + if (lpDSEnumCallback(NULL, "Primary DirectSound Driver", + "sound", lpContext)) + lpDSEnumCallback((LPGUID)&DSDEVID_WinePlayback, + "WINE DirectSound", "sound", + lpContext); #endif return DS_OK; diff --git a/include/dsound.h b/include/dsound.h index 3a7311d2e47..a74ce060873 100644 --- a/include/dsound.h +++ b/include/dsound.h @@ -53,7 +53,8 @@ typedef struct IDirectSoundCapture IDirectSoundCapture,*LPDIRECTSOUNDCAPTURE; DEFINE_GUID(IID_IDirectSoundCaptureBuffer,0xB0210782,0x89CD,0x11D0,0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16); typedef struct IDirectSoundCaptureBuffer IDirectSoundCaptureBuffer,*LPDIRECTSOUNDCAPTUREBUFFER; - + +DEFINE_GUID(DSDEVID_WinePlayback, 0x40316A1D,0x605B,0xD611,0x87,0xC6,0x00,0x80,0xAD,0x00,0x02,0xFE); #define _FACDS 0x878 #define MAKE_DSHRESULT(code) MAKE_HRESULT(1,_FACDS,code)