The utility and code does straightforward enumeration of MMDevices (Vista+, check MSDN for MMDevice API availability), which correspond to MMDevice API, WASAPI, Core Audio API. The code itself is straightforward, with a ready to use binary to quickly lookup data of interest:
The data is detailed well and in Excel-friendly format (via Copy/Paste):
The code also automatically looks up for named Windows SDK constants, such as PKEY_Device_FriendlyName:
Identifier {0.0.1.00000000}.{4c1a7642-3f91-43e5-8fcf-b4b1e803d3f9}
State DEVICE_STATE_DISABLED 0x02
Properties:
{B3F8FA53-0004-438E-9003-51A46E139BFC}, 15 16 bytes of BLOB, DA 07 03 00 02 00 09 00 0E 00 39 00 16 00 C5 02 65
PKEY_Device_DeviceDesc Stereo Mix 31
{B3F8FA53-0004-438E-9003-51A46E139BFC}, 6 Realtek High Definition Audio 31
{B3F8FA53-0004-438E-9003-51A46E139BFC}, 2 {1}.HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_80860034&REV_1002\4&37D44F2F&0&0201 31
{83DA6326-97A6-4088-9453-A1923F573B29}, 3 oem29.inf:AzaliaManufacturerID.NTamd64.6.0:IntcAzAudModel:6.0.1.5964:hdaudio\func_01&ven_10ec&dev_0888 31
PKEY_Device_BaseContainerId {00000000-0000-0000-FFFF-FFFFFFFFFFFF} 72
PKEY_Device_ContainerId {00000000-0000-0000-FFFF-FFFFFFFFFFFF} 72
PKEY_Device_EnumeratorName HDAUDIO 31
PKEY_AudioEndpoint_FormFactor 10 19
PKEY_AudioEndpoint_JackSubType {DFF21FE1-F70F-11D0-B917-00A0C9223196} 31
PKEY_DeviceClass_IconPath %windir%\system32\mmres.dll,-3018 31
{840B8171-B0AD-410F-8581-CCCC0382CFEF}, 0 316 bytes of BLOB, 01 00 00 00 38 01 00 00 ... 00 00 00 00 65
PKEY_AudioEndpoint_Association {00000000-0000-0000-0000-000000000000} 31
PKEY_AudioEndpoint_Supports_EventDriven_Mode 1 19
{24DBB0FC-9311-4B3D-9CF0-18FF155639D4}, 3 0 11
{24DBB0FC-9311-4B3D-9CF0-18FF155639D4}, 4 -1 11
{9A82A7DB-3EBB-41B4-83BA-18B7311718FC}, 1 65536 19
{233164C8-1B2C-4C7D-BC68-B671687A2567}, 1 {2}.\\?\hdaudio#func_01&ven_10ec&dev_0888&subsys_80860034&rev_1002#4&37d44f2f&0&0201#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtstereomixwave 31
{5A9125B7-F367-4924-ACE2-0803A4A3A471}, 0 1610612916 19
{B3F8FA53-0004-438E-9003-51A46E139BFC}, 0 3 19
PKEY_Device_FriendlyName Stereo Mix (Realtek High Definition Audio) 31
PKEY_DeviceInterface_FriendlyName Realtek High Definition Audio 31
PKEY_AudioEndpoint_GUID {4C1A7642-3F91-43E5-8FCF-B4B1E803D3F9} 31
A binary [Win32, x64] and partial Visual C++ .NET 2010 source code are available from SVN.
See also: