Поделиться через


Метод IWDTFPNPAction2::EDTTryStopDeviceFailRestart (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 с неудачным запуском, вместо этого можно запустить метод EDTTryStopDeviceFailRestart на родительском устройстве, бабушке или дедушке и т. д., который использует аппаратные ресурсы. Например, если устройство является USB-мышью, этот метод можно выполнить на родительском USB-контроллере.

Требования

Требование Значение
Минимальная версия клиента Windows XP Professional
Минимальная версия сервера Windows Server 2008
Целевая платформа Персональный компьютер
Верхняя часть wdtfpnpaction.h

См. также раздел

IWDTFPNPAction2