Функция 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) |