Skip to content

Latest commit

 

History

History
195 lines (149 loc) · 5.84 KB

ns-portcls-pcproperty_item.md

File metadata and controls

195 lines (149 loc) · 5.84 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NS:portcls.PCPROPERTY_ITEM
PCPROPERTY_ITEM (portcls.h)
The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.
audio\pcproperty_item.htm
audio
05/08/2018
PCPROPERTY_ITEM structure
*PPCPROPERTY_ITEM, PCPROPERTY_ITEM, PCPROPERTY_ITEM structure [Audio Devices], PPCPROPERTY_ITEM, PPCPROPERTY_ITEM structure pointer [Audio Devices], audio.pcproperty_item, audpc-struct_6d95504b-3ecc-47dc-b98f-b6ebfa40d749.xml, portcls/PCPROPERTY_ITEM, portcls/PPCPROPERTY_ITEM
portcls.h
Portcls.h
Windows
Windows
PCPROPERTY_ITEM, *PPCPROPERTY_ITEM
PPCPROPERTY_ITEM
portcls/PPCPROPERTY_ITEM
PCPROPERTY_ITEM
portcls/PCPROPERTY_ITEM
APIRef
kbSyntax
HeaderDef
portcls.h
PPCPROPERTY_ITEM
PCPROPERTY_ITEM

PCPROPERTY_ITEM structure

-description

The PCPROPERTY_ITEM structure describes a property that is supported by a particular filter, pin, or node.

-struct-fields

-field Set

Specifies the property set. This member is a pointer to a GUID that uniquely identifies the property set. See the list of property-set GUIDs in Audio Drivers Property Sets.

-field Id

Specifies the property ID. This member identifies a property item within the property set. If the property set contains N items, valid property IDs are integers in the range 0 to N-1.

-field Flags

Specifies the types of property requests that the driver supports. Set this member to the bitwise OR of some or all of the flag bits that appear in the following table.

Flag bits Type of property request
PCPROPERTY_ITEM_FLAG_GET Request to get the current property data setting.
PCPROPERTY_ITEM_FLAG_SET Request to set the current property data setting.
PCPROPERTY_ITEM_FLAG_DEFAULTVALUES Request for the driver's default values for the property data.
PCPROPERTY_ITEM_FLAG_BASICSUPPORT Request for basic support, which specifies which request types the driver handles for this property, and also specifies the valid data type and the valid ranges for the property data.
PCPROPERTY_ITEM_FLAG_SERIALIZESIZE Request for the size of the property data for this property when it is serialized as part of a KSPROPERTY_TYPE_SERIALIZESET request.
PCPROPERTY_ITEM_FLAG_SERIALIZERAW Request to serialize this property in a driver-dependent manner. This operation is the inverse of PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW.
PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW Request to unserialize this property in a driver-dependent manner. This operation is the inverse of PCPROPERTY_ITEM_FLAG_SERIALIZERAW.
PCPROPERTY_ITEM_FLAG_SERIALIZE PCPROPERTY_ITEM_FLAG_SERIALIZERAW | PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW | PCPROPERTY_ITEM_FLAG_SERIALIZESIZE

-field Handler

Pointer to the property-handler routine. This member is a function pointer of type PCPFNPROPERTY_HANDLER, which is defined as follows:

  typedef NTSTATUS (*PCPFNPROPERTY_HANDLER)
  (
      IN PPCPROPERTY_REQUEST  PropertyRequest
  );

See the following Remarks section.

-remarks

The PCPROPERTY_ITEM structure specifies a particular property item in an automation table. The PCAUTOMATION_TABLE structure points to an array of PCPROPERTY_ITEM structures.

When calling the Handler routine, the caller passes in a single call parameter, which is a pointer to a PCPROPERTY_REQUEST structure. This structure is allocated by the caller, and the caller frees it under either of the following conditions:

  1. If the Handler routine returns any status code other than STATUS_PENDING, the caller frees the structure. In this case, the miniport driver should not attempt to access the structure after the Handler routine returns.
  2. The Handler routine can also return STATUS_PENDING, in which case the miniport driver is obliged to call PcCompletePendingPropertyRequest at a later time to complete the pending property request. The PcCompletePendingPropertyRequest function frees the structure. After calling PcCompletePendingPropertyRequest, the miniport driver should not attempt to access the structure.
If the miniport driver attempts to access the structure after it has been freed, this action is likely to cause a bug check or to corrupt another driver's memory.

For more information about serialization and raw serialization of a property set, see KS Properties.

-see-also

PCPROPERTY_REQUEST

PcCompletePendingPropertyRequest