IMMDevice::GetState Method

The GetState method retrieves the current device state.

Syntax

public:
HRESULT GetState(
         DWORD *pdwState
)  

Parameters

pdwState
Type: DWORD *

[out]

Pointer to a DWORD variable into which the method writes the current state of the device. The device-state value is one of the following constants.

Constant Value Description
DEVICE_STATE_ACTIVE 0x00000001 The audio endpoint device is active. That is, the audio adapter that connects to the endpoint device is present and enabled. In addition, if the endpoint device plugs into a jack on the adapter, then the endpoint device is plugged in.
DEVICE_STATE_DISABLED 0x00000002 The audio endpoint device is disabled. The user has disabled the device in the Windows multimedia control panel, Mmsys.cpl.
DEVICE_STATE_NOTPRESENT 0x00000004 The audio endpoint device is not present because the audio adapter that connects to the endpoint device has been removed from the system, or the user has disabled the adapter device in Device Manager.
DEVICE_STATE_UNPLUGGED 0x00000008 The audio endpoint device is unplugged. The audio adapter that contains the jack for the endpoint device is present and enabled, but the endpoint device is not plugged into the jack. Only a device with jack-presence detection can be in this state.
DEVICE_STATEMASK_ALL 0x0000000F Includes audio endpoint devices in all states—active, disabled, not present, and unplugged.

Return value

Type: HRESULT 

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 codes
Return code Description
E_POINTER Parameter pdwState is NULL.

Refer to WASAPI error codes.

Requirements

Header: Declared in mmdeviceapi.h.

Library: Use MMDevApi.lib.

See also

IMMDevice

IMMDevice Members