IDeviceSpecificProperty Interface

Previous Next

IDeviceSpecificProperty Interface

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.

IDeviceSpecificProperty inherits from the IUnknown interface. In addition to the methods inherited from IUnknown, IDeviceSpecificProperty supports the following methods.

Method Description
Get4BRange Gets the 4-byte range of the device-specific property.
GetType Gets the data type of the device-specific property.
GetValue Gets the value of the device-specific property.
SetValue Sets the value of the device-specific property.

Requirements

Client: Windows Vista

Header: Include Devicetopology.h.

See Also

Previous Next