Функция 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) |