IDeviceSpecificProperty interface (devicetopology.h)

The IDeviceSpecificProperty interface provides access to the control value of a device-specific hardware control. A client obtains a reference to an IDeviceSpecificProperty interface of a part by calling the IPart::Activate method with parameter refiid set to REFIID IID_IDeviceSpecificProperty. The call to IPart::Activate succeeds only if the part supports the IDeviceSpecificProperty interface. A part supports this interface only if the underlying hardware control has a device-specific control value and the control cannot be adequately represented by any other interface in the DeviceTopology API.

Typically, a device-specific property is useful only to a client that can infer the meaning of the property value from information such as the part type, part subtype, and part name. The client can obtain this information by calling the IPart::GetPartType, IPart::GetSubType, and IPart::GetName methods.

Most Windows audio adapter drivers support the Windows Driver Model (WDM) and use kernel-streaming (KS) properties to represent the hardware control parameters in subunits (referred to as KS nodes). The IDeviceSpecificProperty interface provides convenient access to the KSPROPERTY_AUDIO_DEV_SPECIFIC property of a subunit that has a subtype GUID value of KSNODETYPE_DEV_SPECIFIC. To obtain the subtype GUID of a subunit, call the IPart::GetSubType method. For more information about KS properties and KS node types, see the Windows DDK documentation.


The IDeviceSpecificProperty interface inherits from the IUnknown interface. IDeviceSpecificProperty also has these types of members:


The IDeviceSpecificProperty interface has these methods.


The Get4BRange method gets the 4-byte range of the device-specific property value.

The GetType method gets the data type of the device-specific property value.

The GetValue method gets the current value of the device-specific property.

The SetValue method sets the value of the device-specific property.


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

See also

Core Audio Interfaces

DeviceTopology API