DirectSoundCreate

[The feature associated with this page, DirectSound, is a legacy feature. It has been superseded by WASAPI and Audio Graphs. Media Casting have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Media Casting instead of DirectSound, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

This function creates and initializes an IDirectSound interface.

Syntax

HRESULT WINAPI DirectSoundCreate(LPGUID lpGuid, LPDIRECTSOUND* ppDS, LPUNKNOWN  pUnkOuter );

Parameters

  • lpGuid
    Address of the GUID that identifies the sound device. The value of this parameter must be one of the GUIDs returned by DirectSoundEnumerate, or NULL for the default device.
  • ppDS
    Address of a pointer to a DirectSound object created in response to this function.
  • pUnkOuter
    Controlling unknown of the aggregate. Its value must be NULL.

Return Value

If the function succeeds, the return value is DS_OK.

If the function fails, the return value may be one of the following error values:

Return Code
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_NODRIVER
DSERR_OUTOFMEMORY

Remarks

The application must call the IDirectSound::SetCooperativeLevel method immediately after creating a DirectSound object.

Requirements

Header: Declared in DSound.h.

Library: Use Dsound.lib.

See Also

DirectSoundEnumerate
IDirectSound
IDirectSound::GetCaps
IDirectSound::SetCooperativeLevel