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


Метод 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)

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

IQueueCallbackIoStop

IWDFDevice::CreateIoQueue

IWDFIoQueue

IWDFIoRequest

IWDFIoRequest2::StopAcknowledge

WDF_REQUEST_STOP_ACTION_FLAGS