EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE回调函数 (acxcircuit.h)
当 ACX Manager 取消初始化复合线路时,驱动程序使用 EVT_ACX_CIRCUIT_COMPOSITE_CIRCUIT_DEINITIALIZE 回调对复合线路执行任何取消初始化。
语法
EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE EvtAcxCircuitCompositeDeinitialize;
void EvtAcxCircuitCompositeDeinitialize(
WDFDEVICE Device,
ACXCIRCUIT Circuit,
ACXOBJECTBAG CompositeProperties
)
{...}
参数
Device
WDFDEVICE 对象 (与指定的 ACXCIRCUIT 关联的 框架对象) 摘要 中所述。
Circuit
正在取消初始化的 ACXCIRCUIT 对象。 有关 ACX 对象的详细信息,请参阅 ACX 对象的摘要。
CompositeProperties
CircuitProperties 的可选句柄。 这是 ACXCIRCUIT 属性的可选 ACXOBJECTBAG 对象。
返回值
无
备注
仅当存在关联的 WDFDEVICE 时,ACX 才能为复合 ACXCIRCUIT 调用此回调。 也就是说,如果意外删除了关联的 WDFDEVICE (SR) ,则 ACX 将无法调用回调,因为其关联的 PnP 接口已关闭。
示例
此示例代码演示驱动程序如何从指定的线路属性对象包检索线路属性。
示例用法如下所示。
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 要求
最低 ACX 版本: 1.0
有关 ACX 版本的详细信息,请参阅 ACX 版本概述。
要求
要求 | 值 |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |