Over MMDevice-API
Met de MMDevice-API (Windows Multimedia Device) kunnen audioclients audio-eindpuntapparatendetecteren, hun mogelijkheden bepalen en stuurprogramma-exemplaren voor deze apparaten maken.
Het headerbestand Mmdeviceapi.h definieert de interfaces in de MMDevice-API.
De MMDevice-API bestaat uit verschillende interfaces. De eerste hiervan is de IMMDeviceEnumerator interface. Voor toegang tot de interfaces in de MMDevice-API verkrijgt een client een verwijzing naar de IMMDeviceEnumerator-interface van een apparaat-enumerator-object door de functie CoCreateInstance aan te roepen, zoals wordt weergegeven in het volgende codefragment:
const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
hr = CoCreateInstance(
CLSID_MMDeviceEnumerator, NULL,
CLSCTX_ALL, IID_IMMDeviceEnumerator,
(void**)&pEnumerator);
In het voorgaande codefragment zijn CLSID_MMDeviceEnumerator en IID_IMMDeviceEnumerator de GUID-waarden die als kenmerken zijn gekoppeld aan de MMDeviceEnumerator klasseobject en aan de IMMDeviceEnumerator interface. De CoCreateInstance aanroep geeft deze waarden door aan de hand van een verwijzing. Variabele hr
is van het type HRESULT-en variabele pEnumerator
is een aanwijzer naar de IMMDeviceEnumerator interface van een apparaat-enumerator-object.
IMMDeviceEnumerator- biedt methoden voor het inventariseren van audio-eindpuntapparaten. Zie de Windows SDK-documentatie voor meer informatie over de operator __uuidof, de CoCreateInstance-functie en de CLSCTX_Xxx constanten.
Via de IMMDeviceEnumerator interface kan de client verwijzingen verkrijgen naar de andere interfaces in de MMDevice-API. De MMDevice-API implementeert de volgende interfaces.
Interface | Beschrijving |
---|---|
IMMDevice | Vertegenwoordigt een audioapparaat. |
IMMDeviceCollection | Vertegenwoordigt een verzameling audioapparaten. |
IMMDeviceEnumerator | Biedt methoden voor het inventariseren van audioapparaten. |
IMMEndpoint | Vertegenwoordigt een audio-eindpuntapparaat. |
Bovendien moeten clients van de MMDevice-API die melding van statuswijzigingen in audio-eindpuntapparaten vereisen, de volgende interface implementeren.
Interface | Beschrijving |
---|---|
IMMNotificationClient | Geeft meldingen wanneer een audio-eindpuntapparaat wordt toegevoegd of verwijderd, wanneer de status of eigenschappen van een apparaat worden gewijzigd of wanneer er een wijziging is in de standaardrol die aan een apparaat is toegewezen. |
Verwante onderwerpen