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


Функция WdfRequestSetCompletionRoutine (wdfrequest.h)

[Применимо к KMDF и UMDF]

Метод WdfRequestSetCompletionRoutine регистрирует или отменяет процедуру завершения для указанного объекта запроса платформы.

Синтаксис

void WdfRequestSetCompletionRoutine(
  [in]           WDFREQUEST                         Request,
  [in, optional] PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
  [in, optional] __drv_aliasesMem WDFCONTEXT        CompletionContext
);

Параметры

[in] Request

Дескриптор объекта запроса платформы.

[in, optional] CompletionRoutine

Указатель на функцию обратного вызова CompletionRoutine, если драйвер регистрирует подпрограмму завершения или null драйвера отменяет регистрацию ранее зарегистрированной процедуры завершения.

[in, optional] CompletionContext

Нетипизированный указатель на сведения о контексте, определяемые драйвером, которые платформа передает в функцию обратного вызова CompletionRoutine. Этот параметр является необязательным и может быть null.

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

Никакой

Замечания

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Если драйвер перенаправит запросы ввода-вывода, но если вы хотите, чтобы драйвер был уведомлен, когда драйвер нижнего уровня завершает запрос, драйвер может предоставить функцию обратного вызова CompleteRoutine и вызвать WdfRequestSetCompletionRoutine для регистрации функции. Платформа вызывает функцию обратного вызова после завершения запроса ввода-вывода драйвера нижнего уровня.

Дополнительные сведения о WdfRequestSetCompletionRoutineсм. в запросах ввода-вывода.

Примеры

Пример кода, использующий WdfRequestSetCompletionRoutine, см. в разделе WdfRequestSend.

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка wdfrequest.h (включая Wdf.h)
библиотеки Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqCompletionRoutine(kmdf)

См. также

CompletionRoutine