IAudioSessionManager::GetAudioSessionControl method (audiopolicy.h)

The GetAudioSessionControl method retrieves an audio session control.


HRESULT GetAudioSessionControl(
  [in]  LPCGUID              AudioSessionGuid,
  [in]  DWORD                StreamFlags,
  [out] IAudioSessionControl **SessionControl


[in] AudioSessionGuid

Pointer to a session GUID. If the GUID does not identify a session that has been previously opened, the call opens a new but empty session. The Sndvol program does not display a volume-level control for a session unless it contains one or more active streams. If this parameter is NULL or points to the value GUID_NULL, the method assigns the stream to the default session.

[in] StreamFlags

Specifies the status of the flags for the audio stream.

[out] SessionControl

Pointer to a pointer variable into which the method writes a pointer to the IAudioSessionControl interface of the audio session control object. The caller is responsible for releasing the interface, when it is no longer needed, by calling the interface's Release method. If the call fails, *SessionControl is NULL.

Return value

If the method succeeds, it returns S_OK. If it fails, possible return codes include, but are not limited to, the values shown in the following table.

Return code Description
The audio stream has not been successfully initialized.
The audio endpoint device has been unplugged, or the audio hardware or associated hardware resources have been reconfigured, disabled, removed, or otherwise made unavailable for use.
The Windows audio service is not running.
Parameter SessionControl is NULL.
Out of memory.


For a code example that calls this method, see Audio Events for Legacy Audio Applications.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header audiopolicy.h

See also

IAudioSessionControl Interface

IAudioSessionManager Interface