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


Метод IRequestCallbackCancel::OnCancel (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]

Метод OnCancel вызывается, когда приложение отменяет операцию ввода-вывода с помощью функции Microsoft Win32 CancelIo, CancelIoEx или CancelSynchronousIo .

Синтаксис

void OnCancel(
  [in] IWDFIoRequest *pWdfRequest
);

Параметры

[in] pWdfRequest

Указатель на интерфейс IWDFIoRequest , представляющий объект запроса платформы для отмены.

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

None

Remarks

Платформа вызывает метод OnCancel для отмены запроса ввода-вывода, определяемого параметром pWdfRequest . Сначала драйвер должен определить, может ли он отменить запрос ввода-вывода. Если запрос можно отменить, драйвер должен отменить его. Дополнительные сведения об отмене запроса см. в разделе Отмена запросов ввода-вывода.

Если драйвер отменяет запрос, драйвер также должен завершить запрос, вызвав метод IWDFIoRequest::Complete с параметром CompletionStatus , равным HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED).

Платформа не вызывает OnCancel для отмены запроса, если только драйвер ранее не вызвал метод IWDFIoRequest::MarkCancelable , чтобы включить отмену запроса и зарегистрировать интерфейс IRequestCallbackCancel .

Платформа User-Mode Driver Framework (UMDF) допускает только один метод OnCancel для каждой очереди. Поэтому, когда драйвер вызывает IWDFIoRequest::MarkCancelable для запросов, связанных с определенной очередью, чтобы платформа могла отменять эти запросы, драйвер должен передать указатель на интерфейс IRequestCallbackCancel для того же объекта request-callback. Позже, чтобы отменить каждый запрос, платформа передает указатель на интерфейс IWDFIoRequest для запроса в вызове метода OnCancel этого объекта request-callback.

Требования

Требование Значение
Целевая платформа Windows
Header wudfddi.h (включая Wudfddi.h)

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

IRequestCallbackCancel

IWDFIoRequest

IWDFIoRequest::Complete

IWDFIoRequest::MarkCancelable