IWDTFPNPAction2::EDTryStopDeviceFailRestart 方法 (wdtfpnpaction.h)

尝试将IRP_MN_STOP_DEVICE事件发送到目标设备,随后设备重启失败。

语法

HRESULT EDTTryStopDeviceFailRestart(
  [out, retval] VARIANT_BOOL *pbSuccess
);

参数

[out, retval] pbSuccess

如果操作成功,则为 True;否则为 false。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

注意 在调用此方法之前,必须为目标设备调用 IWDTFEnhancedDeviceTestSupportAction2::Enable 方法。
 
EDTryStopDeviceFailRestart 尝试触发 PnP 资源重新平衡, (查询停止、停止、启动 IRP 序列) ,其中在成功查询停止和停止后IRP_MN_START_DEVICE事件失败。 失败的启动 IRP 反过来会导致系统意外删除设备 (IRP_MN_SURPRISE_REMOVAL) 。

无法保证停止 IRP。 堆栈上的其他驱动程序可能会使停止 IRP (之前的IRP_MN_QUERY_STOP_DEVICE事件失败,从而导致IRP_MN_CANCEL_STOP_DEVICE) 。 此外,如果系统检测到目标设备不使用硬件资源 (例如 USB 鼠标) 并改为发送 CancelStop IRP,系统可能会进行优化。

如果设备未消耗硬件资源,但仍希望尝试测试驱动程序和应用程序如何处理启动失败的 PnP 资源再平衡,则可以改为在父设备、祖父级等上运行 EDTryStopDeviceFailRestart 方法,该方法会消耗硬件资源。 例如,如果设备是 USB 鼠标,则可以改为在父 USB 控制器上运行此方法。

要求

要求
最低受支持的客户端 Windows XP Professional
最低受支持的服务器 Windows Server 2008
目标平台 桌面
标头 wdtfpnpaction.h

另请参阅

IWDTFPNPAction2