EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE callback function (acxcircuit.h)
The EVT_ACX_CIRCUIT_COMPOSITE_CIRCUIT_DEINITIALIZE callback is used by the driver to do any de-initialization of a composite circuit when it is de-initialized by ACX Manager.
Syntax
EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE EvtAcxCircuitCompositeDeinitialize;
void EvtAcxCircuitCompositeDeinitialize(
WDFDEVICE Device,
ACXCIRCUIT Circuit,
ACXOBJECTBAG CompositeProperties
)
{...}
Parameters
Device
A WDFDEVICE object (described in Summary of Framework Objects) that is associated with the specified ACXCIRCUIT.
Circuit
The ACXCIRCUIT object being de-initialized. For more information about ACX objects, see Summary of ACX Objects.
CompositeProperties
Optional handle to CircuitProperties. This is an optional ACXOBJECTBAG object for ACXCIRCUIT's properties.
Return value
None
Remarks
ACX is able to invoke this callback for a composite ACXCIRCUIT only if the associated WDFDEVICE is present. That is, if the associated WDFDEVICE is surprise-removed (SR), ACX will not be able to invoke the callback because its associated PnP interfaces are turned off.
Example
This sample code shows how the driver retrieves a circuit property from the specified circuit property object bag.
Example usage is shown below.
VOID
DspR_EvtCircuitCompositeDeinitialize(
_In_ WDFDEVICE Device,
_In_ ACXCIRCUIT Circuit,
_In_opt_ ACXOBJECTBAG CompositeProperties
)
{
DECLARE_CONST_ACXOBJECTBAG_SYSTEM_PROPERTY_NAME(UniqueID);
NTSTATUS status = STATUS_SUCCESS;
GUID uniqueId = {0};
PAGED_CODE();
UNREFERENCED_PARAMETER(Device);
UNREFERENCED_PARAMETER(Circuit);
if (CompositeProperties)
{
status = AcxObjectBagRetrieveGuid(CompositeProperties, &UniqueID, &uniqueId);
if (!NT_SUCCESS(status))
{
// Log error.
}
}
}
ACX requirements
Minimum ACX version: 1.0
For more information about ACX versions, see ACX version overview.
Requirements
Requirement | Value |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |