EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE回调函数 (acxcircuit.h)

当 ACXFACTORYCIRCUIT 处于发布硬件阶段时,驱动程序使用 EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE 回调来添加功能。

语法

EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE EvtAcxFactoryCircuitReleaseHardware;

NTSTATUS EvtAcxFactoryCircuitReleaseHardware(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDFCMRESLIST ResourcesTranslated
)
{...}

参数

Device

与 ACX 线路关联的 框架对象) 摘要 中所述的 WDFDEVICE 对象 (。

Factory

现有线路工厂 ACXFACTORYCIRCUIT 对象。 (有关 ACX 对象的详细信息,请参阅 ACX 对象的摘要

ResourcesTranslated

一个 WDF 资源列表,用于描述要用于准备硬件阶段的已翻译资源。 这是一个 WDF 框架资源列表对象,表示设备的硬件资源列表。 有关已翻译的资源列表的详细信息,请参阅 原始资源和已翻译的资源

返回值

STATUS_SUCCESS如果调用成功,则返回 。 否则,它将返回相应的错误代码。 有关详细信息,请参阅 使用 NTSTATUS 值

注解

若要注册 EvtAcxFactoryCircuitReleaseHardware 回调函数,驱动程序必须调用 AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks

如果驱动程序已注册 EvtAcxFactoryCircuitReleaseHardware 回调函数,框架会在以下转换期间调用它:

  • 资源重新平衡
  • 有序删除
  • 意外删除

在 WDF 框架停止向设备发送 I/O 请求后,ACX 框架调用 EvtAcxFactoryCircuitReleaseHardware 回调函数,并禁用分配给设备的任何中断并断开连接,并且设备已关闭。

ACX 框架在 WDF 框架调用驱动程序的 EvtDeviceReleaseHardware 回调函数之前调用 EvtAcxFactoryCircuitReleaseHardware 回调函数。

当框架调用 EvtAcxFactoryCircuitReleaseHardware 时,设备的 PDO 仍然存在,并且可以查询处于关闭状态的设备信息,例如 PCI 配置状态。

此外,框架提供给 EvtDeviceReleaseHardware 的已转换硬件资源仍分配给设备。 此回调函数的主要用途是释放这些资源,特别是取消映射驱动程序的 EvtAcxCircuitPrepareHardware 回调函数映射的任何内存资源。 驱动程序还可以使用此回调来执行在关闭状态下可能需要的任何其他 ACXCIRCUIT 管理活动。 通常,所有其他硬件关闭操作应在驱动程序的 EvtDeviceD0Exit 回调函数中发生。

如果已调用驱动程序的 EvtAcxFactoryCircuitPrepareHardware 回调函数,ACX 框架始终调用驱动程序的 EvtAcxFactoryCircuitReleaseHardware 回调函数,除非 EvtAcxFactoryCircuitPrepareHardware 返回了失败代码。

有关 ACX 和 WDF 框架何时调用这些回调函数的详细信息,请参阅 PnP 和电源管理方案

有关硬件资源的详细信息,请参阅 硬件资源简介

有关提供此回调函数的驱动程序的详细信息,请参阅 在函数驱动程序中支持 PnP 和电源管理

ACX 要求

最低 ACX 版本: 1.0

有关 ACX 版本的详细信息,请参阅 ACX 版本概述

要求

要求
Header acxcircuit.h
IRQL PASSIVE_LEVEL

另请参阅