#include "dx_platform.h"
#include <mmdeviceapi.h>
#include <audioclient.h>
#include <devicetopology.h>
#include <functiondiscoverykeys_devpkey.h>
#include <string>
#include <map>
|
| namespace | dx |
| | dynax driver framework interface namespace
|
| namespace | dx::wasapi |
| | WASAPI namespace.
|
|
| typedef std::map< std::string, std::string > | dx::wasapi::dictionary |
| | matching dictionary: verb -> case-insensitive substring; id -> the KS filter device interface id, name -> PKEY_Device_FriendlyName, interface -> PKEY_DeviceInterface_FriendlyName, vendor -> PKEY_Device_Manufacturer. A driver's match is a vector of them: any dictionary whose entries all match takes the endpoint, an empty vector takes every endpoint
|
|
| std::string | dx::wasapi::devnode (const std::string &topology) |
| | device instance path of a KS filter: its device interface id without the {2}.\?\ prefix and the #{KSCATEGORY}<reference string> tail - shared by every endpoint of one device
|
| uint32_t | dx::wasapi::number (::IMMDevice *endpoint, const ::PROPERTYKEY &key) |
| | a numeric property of an endpoint (VT_UI4 - the form factor, the physical speakers): zero where the endpoint carries none
|
| std::string | dx::wasapi::property (::IMMDevice *endpoint, const ::PROPERTYKEY &key) |
| std::string | dx::wasapi::topology (::IMMDevice *endpoint) |
| | device interface id of the KS filter behind the endpoint's connector: {2}.\\?\<enumerator>#<hardware id>#<instance>#{KSCATEGORY}\<reference string>
|
| std::string | dx::wasapi::utf8 (const wchar_t *wide) |
| std::wstring | dx::wasapi::wide (const std::string &utf8) |
◆ interface
| #define interface __STRUCT__ |