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


Метод IWDTFPNPAction2::EDTTryStopDevice (wdtfpnpaction.h)

Пытается отправить событие IRP_MN_STOP_DEVICE на целевое устройство.

Синтаксис

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

Параметры

[out, retval] pbSuccess

Значение true, если операция выполнена успешно; в противном случае — false.

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Примечание Перед вызовом этого метода для целевого устройства необходимо вызвать метод IWDTFEnhancedDeviceTestSupportAction2::Enable .
 
EDTTryStopDevice пытается активировать перераспределение ресурсов PnP (например, IRP_MN_STOP_DEVICE) в стеке целевого устройства. Остановка IRP не гарантируется. Другие драйверы в стеке могут завершиться сбоем события IRP_MN_QUERY_STOP_DEVICE, которое предшествует остановке IRP (в результате чего возникает событие IRP_MN_CANCEL_STOP_DEVICE). Кроме того, система может выполнить оптимизацию, если обнаруживает, что целевое устройство не использует аппаратные ресурсы (например, USB-мышь), и отправляет вместо этого метод CancelStop IRP.

Если устройство не потребляет аппаратные ресурсы, но вы по-прежнему хотите попытаться проверить, как драйверы и приложения обрабатывают перераспределение ресурсов PnP, вместо этого можно запустить метод EDTTryStopDevice на родительском устройстве, бабушке или дедушке и т. д., который использует аппаратные ресурсы. Например, если устройство является USB-мышью, можно запустить EDTTryStopDevice на родительском USB-контроллере.

Требования

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

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

IWDTFPNPAction2