DEVICE_RESET_HANDLER回调函数 (wdm.h)

DeviceReset 例程用于重置和恢复故障设备。

语法

DEVICE_RESET_HANDLER DeviceResetHandler;

NTSTATUS DeviceResetHandler(
  [in]           PVOID InterfaceContext,
  [in]           DEVICE_RESET_TYPE ResetType,
  [in]           ULONG Flags,
  [in, optional] PVOID ResetParameters
)
{...}

参数

[in] InterfaceContext

指向特定于接口的上下文信息的指针。 调用方传递作为接口 DEVICE_RESET_INTERFACE_STANDARD 结构的 上下文 成员传递的值。

[in] ResetType

所请求的重置类型。 将此参数设置为以下 DEVICE_RESET_TYPE 枚举值之一。

  • FunctionLevelDeviceReset。 指定此值以请求函数级重置,该重置限制为特定设备。

  • PlatformLevelDeviceReset。 指定此值以请求平台级重置,这将影响通过同一电源轨或重置线路连接到它的特定设备和所有其他设备。

有关如何在设备堆栈中实现函数级和平台级重置的详细信息,请参阅 使用GUID_DEVICE_RESET_INTERFACE_STANDARD

[in] Flags

设置为 0。 目前,此例程未定义任何标志。

[in, optional] ResetParameters

如果调用方请求函数级设备重置,则此可选参数可以指向一个 FUNCTION_LEVEL_DEVICE_RESET_PARAMETERS 结构,该结构指定在重置完成后调用的回调例程。

返回值

如果请求的作成功,此例程将返回STATUS_SUCCESS。 否则,它将返回相应的 NTSTATUS 错误代码。

言论

如果函数驱动程序检测到设备未正常运行,应首先尝试函数级重置。 如果函数级重置无法解决问题,则驱动程序可以尝试进行更具侵入性的平台级重置,但平台级重置应仅用作最终选项。

必须在PASSIVE_LEVEL执行函数级重置或平台级重置。

有关函数级别和平台级重置的详细信息,请参阅 使用GUID_DEVICE_RESET_INTERFACE_STANDARD

要求

要求 价值
最低支持的客户端 Windows 10
目标平台 桌面
标头 wdm.h (包括 Wdm.h)

另请参阅

使用GUID_DEVICE_RESET_INTERFACE_STANDARD

IRP_MN_QUERY_INTERFACE