The PCPROPERTY_REQUEST structure specifies a property request.
typedef struct _PCPROPERTY_REQUEST
{
PUNKNOWN MajorTarget;
PUNKNOWN MinorTarget;
ULONG Node;
const PCPROPERTY_ITEM *PropertyItem;
ULONG Verb;
ULONG InstanceSize;
PVOID Instance;
ULONG ValueSize;
PVOID Value;
PIRP Irp;
} PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;
These flags are described in KSPROPERTY.
This is the structure that the port driver passes to the miniport driver's property-handler routine. The PCPROPERTY_ITEM structure contains a function pointer to a property handler that takes a PCPROPERTY_REQUEST pointer as its only call parameter. The port driver allocates a PCPROPERTY_REQUEST structure, extracts the relevant information from the original property request (which the Irp member points to), and loads the information into this structure before calling the handler.
In WDM audio, the target of a property request can be either a filter instance or a pin instance. The target can also include a node ID.
In the client's original property request, the property-instance data always begins with a KSPROPERTY or KSNODEPROPERTY structure, but can include additional information. The port driver adjusts the PCPROPERTY_REQUEST structure's Instance member to point to this additional information, if it exists. For details, see Audio Property Handlers.
The MajorTarget and MinorTarget members are IUnknown pointers to the main miniport object and an associated stream object, respectively. The property handler can query these objects for their miniport and stream interfaces. If the target for the property request is a filter instance, MajorTarget points to the miniport object for that filter instance, and MinorTarget is NULL. If the target is a pin instance, MinorTarget points to the stream object for that pin, and MajorTarget points to the miniport object for the filter that the pin is attached to.
For example, if the target for the property request is a pin instance on a WaveCyclic filter:
For background information on audio properties, see Properties of Audio Filters, Pins, and Nodes. For a list of the available audio-specific properties, see Audio Drivers Property Sets.
PCPROPERTY_ITEM, KSPROPERTY, KSNODEPROPERTY, KSNODEPROPERTY_AUDIO_CHANNEL