Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо к KMDF и UMDF]
Метод WdfIoQueuePurgeSynchronous приводит к остановке очереди запросов ввода-вывода в очередь ввода-вывода и отмене необработанных запросов и отмененных запросов драйвера.
Синтаксис
void WdfIoQueuePurgeSynchronously(
[in] WDFQUEUE Queue
);
Параметры
[in] Queue
Дескриптор объекта очереди платформы.
Возвращаемое значение
Нет
Замечания
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
После вызова драйвера WdfIoQueuePurgeSynchronousплатформа перестает добавлять запросы ввода-вывода в указанную очередь. Платформа отменяет все запросы, которые он не доставил драйверу. Если платформа получает дополнительные запросы для очереди, она завершает их со значением состояния завершения STATUS_INVALID_DEVICE_STATE.
WdfIoQueuePurgeSynchronous возвращается после завершения или отмены всех необработанных и управляемых драйверов запросов.
После очистки очереди ввода-вывода драйвер может перезапустить очередь, вызвав WdfIoQueueStart.
Не вызывайте WdfIoQueuePurgeSynchronous из следующих функций обратного вызова событий объекта очереди независимо от очереди, с которой связана функция обратного вызова события:
EvtIoDefaultEvtIoDeviceControlEvtIoInternalDeviceControlEvtIoReadEvtIoWrite Дополнительные сведения о методе WdfIoQueuePurgeSynchronous см. управлении очередями ввода-вывода.
Примеры
В следующем примере кода очищается указанная очередь ввода-вывода.
WdfIoQueuePurgeSynchronously(ReadQueue);
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
Заголовок | wdfio.h (include Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf), NoIoQueuePurgeSynchronously(kmdf) |