Метод IQueueCallbackIoStop::OnIoStop (wudfddi.h)
[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]
Функция обратного вызова OnIoStop останавливает обработку указанного запроса ввода-вывода из указанной очереди.
Синтаксис
void OnIoStop(
[in] IWDFIoQueue *pWdfQueue,
[in] IWDFIoRequest *pWdfRequest,
[in] ULONG ActionFlags
);
Параметры
[in] pWdfQueue
Указатель на интерфейс IWDFIoQueue для объекта очереди ввода-вывода, с которым останавливается обработка запроса ввода-вывода.
[in] pWdfRequest
Указатель на интерфейс IWDFIoRequest , представляющий объект запроса платформы, обработка которого остановлена.
[in] ActionFlags
Допустимое побитовое ИЛИ WDF_REQUEST_STOP_ACTION_FLAGS типизированных значений, идентифицирующее состояние запроса на действие остановки.
Возвращаемое значение
None
Remarks
Драйвер регистрирует интерфейс IQueueCallbackIoStop , когда драйвер вызывает метод IWDFDevice::CreateIoQueue для создания очереди ввода-вывода или настройки очереди ввода-вывода по умолчанию.
Если драйвер регистрирует функцию обратного вызова OnIoStop для очереди ввода-вывода, платформа вызывает ее, когда базовое устройство очереди выходит из рабочего состояния (D0). Платформа вызывает функцию обратного вызова OnIoStop для каждого запроса ввода-вывода, который драйвер не завершил, включая запросы, принадлежащие драйверу, и те, которые он перенаправил целевому объекту ввода-вывода.
Функция обратного вызова OnIoStop должна завершить, отменить или отложить дальнейшую обработку запроса ввода-вывода. Необходимо использовать следующие правила:
Если драйвер владеет запросом ввода-вывода, он должен вызвать IWDFIoRequest::Complete для завершения или отмены запроса или отложить дальнейшую обработку запроса, а затем вызвать IWDFIoRequest2::StopAcknowledge.
Если драйвер перенаправил запрос ввода-вывода в целевой объект ввода-вывода, он должен вызвать IWDFIoRequest::CancelSentRequest , чтобы попытаться отменить запрос, или отложить дальнейшую обработку запроса, а затем вызвать StopAcknowledge.
Если флаг WdfRequestStopRequestCancelable установлен в параметре ActionFlags , драйвер должен вызвать IWDFIoRequest::UnmarkCancelable перед вызовомIWDFIoRequest::Complete для завершения (или отмены) запроса или вызова IWDFIoRequest2::StopAcknowledge для повторного запроса.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | wudfddi.h (включая Wudfddi.h) |