DeviceTopology-API
Zie de DMO-voorbeeld van DMO van hoge kwaliteit van Microsoft.
De DeviceTopology-API biedt clienttoepassingen de mogelijkheid om de functionele hardwaretopologieën van audiorenderings- en opnameapparaten te doorlopen. Via de interfaces en methoden in de DeviceTopology-API kunnen clients de functionele subeenheden (bijvoorbeeld volumeregeling) detecteren die langs de gegevenspaden liggen die leiden naar en van audio-eindpuntapparaten. Clients kunnen de interne topologieën van zowel audioadapterapparaten als audio-eindpuntapparaten doorlopen en de verbindingen doorlopen die het ene apparaat aan een ander apparaat koppelen. Zie Device Topologiesvoor meer informatie.
Header-bestand Devicetopology.h definieert de interfaces in de DeviceTopology-API.
Voor toegang tot de DeviceTopology-API-interfaces verkrijgt een client eerst een verwijzing naar de IDeviceTopology interface voor een audio-eindpuntapparaat door de volgende stappen uit te voeren:
- Met behulp van een van de technieken die worden beschreven in IMMDevice Interface, verkrijgt u een verwijzing naar de IMMDevice interface voor een audio-eindpuntapparaat.
- Roep de methode IMMDevice::Activate aan met parameter iid ingesteld op REFIID- IID_IDeviceTopology.
De client kan verwijzingen verkrijgen naar de andere interfaces in de DeviceTopology-API door de methoden aan te roepen in de IDeviceTopology interface.
De DeviceTopology-API implementeert de volgende interfaces.
Interface | Beschrijving |
---|---|
IAudioAutoGainControl- | Biedt toegang tot een AGC (Automatic Gain Control) voor hardware. |
IAudioBass | Biedt toegang tot een besturingselement op hardwareniveau op basniveau. |
IAudioChannelConfig- | Biedt toegang tot een hardwarekanaalconfiguratiebeheer. |
IAudioInputSelector | Biedt toegang tot een hardware multiplexer-besturingselement (invoerkiezer). |
IAudioLoudness- | Biedt toegang tot een compensatiebeheer voor 'luidheid'. |
IAudioMidrange | Biedt toegang tot een beheer op midrangeniveau. |
IAudioMute- | Biedt toegang tot een hardwaredempingsbesturingselement. |
IAudioOutputSelector- | Biedt toegang tot een hardware demultiplexer-besturingselement (uitvoerkiezer). |
IAudioPeakMeter | Biedt toegang tot een hardwarepiekmeterbesturing. |
IAudioTreble- | Biedt toegang tot een besturingselement op hardwareniveau. |
IAudioVolumeLevel | Biedt toegang tot een hardwarevolumeregeling. |
IConnector- | Vertegenwoordigt een verbindingspunt tussen onderdelen. |
IControlInterface- | Vertegenwoordigt een besturingsinterface op een onderdeel (subeenheid of verbindingslijn). |
IDeviceSpecificProperty- | Vertegenwoordigt een apparaatspecifieke eigenschap van een connector of subeenheid. |
IDeviceTopology- | Biedt toegang tot de topologie van een audioapparaat. |
IKsFormatSupport | Biedt informatie over de audiogegevensindelingen die worden ondersteund door een door software geconfigureerde I/O-verbinding (meestal een DMA-kanaal) tussen het audioapparaat en het systeemgeheugen. |
IKsJackDescription | Bevat informatie over de aansluitingen of interne connectors die een fysieke verbinding bieden tussen een apparaat op een audioadapter en een extern of intern eindpuntapparaat (bijvoorbeeld een microfoon of cd-speler). |
IPart- | Vertegenwoordigt een deel (connector of subeenheid) van een apparaattopologie. |
IPartsList | Vertegenwoordigt een lijst met onderdelen (verbindingslijnen en subeenheden). |
IPerChannelDbLevel | Vertegenwoordigt een algemene subeenheidbesturingsinterface die per kanaal controle biedt over het volumeniveau, in decibel, van een audiostream of van een frequentieband in een audiostream. |
ISubunit- | Vertegenwoordigt een hardwaresubeenheid (bijvoorbeeld een besturingselement op volumeniveau) dat zich in het gegevenspad tussen een client en een audio-eindpuntapparaat bevindt. |
DeviceTopology-API-clients waarvoor melding van controlewijzigingsgebeurtenissen in connectors en subeenheden is vereist, moeten de volgende interface implementeren.
Interface | Beschrijving |
---|---|
IControlChangeNotify- | Geeft meldingen wanneer de status van een onderdeel (connector of subeenheid) wordt gewijzigd. |
Verwante onderwerpen