IMMDevice interface

The IMMDevice interface encapsulates the generic features of a multimedia device resource. In the current implementation of the MMDevice API, the only type of device resource that an IMMDevice interface can represent is an audio endpoint device.

A client can obtain an IMMDevice interface from one of the following methods:

For more information, see IMMDeviceCollection Interface.

After obtaining the IMMDevice interface of an audio endpoint device, a client can obtain an interface that encapsulates the endpoint-specific features of the device by calling the IMMDevice::QueryInterface method with parameter iid set to REFIID IID_IMMEndpoint. For more information, see IMMEndpoint Interface.

For code examples that use the IMMDevice interface, see the following topics:


The IMMDevice interface has these methods.

Method Description
IMMDevice::Activate The Activate method creates a COM object with the specified interface.
IMMDevice::GetId The GetId method retrieves an endpoint ID string that identifies the audio endpoint device.
IMMDevice::GetState The GetState method retrieves the current device state.
IMMDevice::OpenPropertyStore The OpenPropertyStore method retrieves an interface to the device's property store.


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

See Also

Core Audio Interfaces

IMMDeviceCollection Interface




IMMEndpoint Interface

MMDevice API