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


Функция WdfDeviceSetStaticStopRemove (wdfdevice.h)

[Относится к KMDF и UMDF]

Метод WdfDeviceSetStaticStopRemove сообщает платформе, можно ли остановить и удалить устройство.

Синтаксис

void WdfDeviceSetStaticStopRemove(
  [in] WDFDEVICE Device,
  [in] BOOLEAN   Stoppable
);

Параметры

[in] Device

Дескриптор объекта устройства платформы.

[in] Stoppable

Логическое значение, указывающее, можно ли остановить и удалить указанное устройство. Если задано значение TRUE, устройство можно остановить и удалить. Если значение FALSE, устройство не может быть остановлено и удалено.

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

None

Remarks

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

По умолчанию устройство можно остановить и удалить. Поэтому драйвер обычно вызывает WdfDeviceSetStaticStopRemove только в том случае, если ему необходимо временно установить для параметра Stoppableзначение FALSE. Например, драйвер, управляющий записью DVD-дисков, может вызвать WdfDeviceSetStaticStopRemove с параметром Stoppable, чтобы начать запись DVD. После завершения записи DVD-диска драйвер снова вызовет WdfDeviceSetStaticStopRemove с параметром Stoppable значение TRUE.

Если устройство драйвера поддерживает специальный файл (см. WdfDeviceSetSpecialFileSupport), платформа не позволит останавливать или удалять устройство. В этом случае драйверу не нужно вызывать WdfDeviceSetStaticStopRemove .

Драйвер должен соответствовать каждому вызову WdfDeviceSetStaticStopRemove с параметром Stoppable , равным FALSE , а для вызова WdfDeviceSetStaticStopRemoveзадано значение TRUE.

Вызов WdfDeviceSetStaticStopRemove с параметром Stoppable , установленным в значение FALSE , не препятствует платформе уведомлять драйвер о том, что устройство неожиданно удалено (неожиданное удаление).

Дополнительные сведения о том, как предотвратить остановку устройства операционной системой, см. в разделе Обработка запросов на остановку устройства.

Примеры

В следующем примере кода платформа сообщает, что указанное устройство не может быть остановлено и удалено.

WdfDeviceSetStaticStopRemove(
                             device,
                             FALSE
                             );

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfdevice.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)