EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE回调函数 (acxcircuit.h)
驱动程序使用 EVT_ACX_CIRCUIT_COMPOSITE_CIRCUIT_DEINITIALIZE 回调在 ACX 管理器取消初始化时执行复合线路的任何反初始化。
语法
EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE EvtAcxCircuitCompositeDeinitialize;
void EvtAcxCircuitCompositeDeinitialize(
WDFDEVICE Device,
ACXCIRCUIT Circuit,
ACXOBJECTBAG CompositeProperties
)
{...}
参数
Device
与指定的 ACXCIRCUIT 关联的 WDFDEVICE 对象(“框架对象摘要”中所述)。
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 版本概述。
要求
要求 | 价值 |
---|---|
标头 | acxcircuit.h |
IRQL | PASSIVE_LEVEL |