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 方法。
 
EDTTryStopDeviceFailRestart 尝试触发 PnP 资源重新均衡(查询停止、停止、启动 IRP 序列),其中失败IRP_MN_START_DEVICE事件,该事件遵循成功的查询停止和停止。 失败的启动 IRP 反过来会导致系统意外删除设备(IRP_MN_SURPRISE_REMOVAL)。

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

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

要求

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

另请参阅

IWDTFPNPAction2