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结构的 Context 成员传递的值。

[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