// acxrequest.h
VOID ACX_REQUEST_PARAMETERS_INIT_PROPERTY(
PACX_REQUEST_PARAMETERS Params,
const GUID Set,
ULONG Id,
ACX_PROPERTY_VERB Verb,
ACX_ITEM_TYPE ItemType,
ULONG ItemId,
PVOID Control,
ULONG ControlCb,
PVOID Value,
ULONG ValueCb
);
View the official Windows Driver Kit DDI referenceNo description available.
The ACX_REQUEST_PARAMETERS_INIT_PROPERTY initializes an ACX_REQUEST_PARAMETERS struct with ACX property parameters.
ParamsA pointer to ACX_REQUEST_PARAMETERS structure that is used to store property parameters.
SetA property Set ID (GUID).
IdA property ID (ULONG) within the property Set ID.
VerbThe ACX property verb to send as defined by the ACX_PROPERTY_VERB enumeration.
ItemTypeThe ACX_ITEM_TYPE type of item being sent, for example AcxItemTypeCircuit.
ItemIdThe item ID of the ItemType, for example the pin ID if the ItemType is a pin.
ControlAn optional Control buffer holding additional parameters for the specified property. Set to null if not present.
ControlCbThe count in bytes (size) of the Control buffer. Set to 0 if Control field is not used.
ValueAn optional Value buffer to specify or receive the property's value. Set to null if not present or if *SendProperty needs to allocate it when ValueCb is not zero. Caller is responsible for freeing the allocated buffer.
ValueCbThe count in bytes (size) of the Value buffer. Set to 0 if Value is not used.
Example usage is shown below.
NTSTATUS status = STATUS_SUCCESS;
PKSPIN_PHYSICALCONNECTION physicalConnection = nullptr;
PAUDIO_PATH_DESCRIPTOR descriptor = nullptr;
// For the Audio Circuit, send a request to each Target Pin asking KSPROPERTY_PIN_PHYSICALCONNECTION
// This will give us symbolic link of the next circuit in the Audio Path (if there is any)
for (ULONG i = 0; i < ARRAYSIZE(AudioCircuit->Pins) && AudioCircuit->Pins[i].TargetPin; ++i)
{
ACX_REQUEST_PARAMETERS requestParams{ 0 };
ACX_REQUEST_PARAMETERS_INIT_PROPERTY(
&requestParams,
KSPROPSETID_Pin,
KSPROPERTY_PIN_PHYSICALCONNECTION,
AcxPropertyVerbGet,
AcxItemTypePin,
i,
nullptr,
0,
// null Value so SendProperty will allocate it for us. We'll need to free it.
nullptr,
0);
...
Minimum ACX version: 1.0
For more information about ACX versions, see ACX version overview.