WdfRequestSetCompletionRoutine-Funktion (wdfrequest.h)
[Gilt für KMDF und UMDF]
Die WdfRequestSetCompletionRoutine Methode registriert oder deregistert eine Abschlussroutine für das angegebene Framework-Anforderungsobjekt.
Syntax
void WdfRequestSetCompletionRoutine(
[in] WDFREQUEST Request,
[in, optional] PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
[in, optional] __drv_aliasesMem WDFCONTEXT CompletionContext
);
Parameter
[in] Request
Ein Handle zu einem Framework-Anforderungsobjekt.
[in, optional] CompletionRoutine
Ein Zeiger auf eine CompletionRoutine Rückruffunktion, wenn der Treiber eine Abschlussroutine registriert, oder NULL- des Treibers eine zuvor registrierte Abschlussroutine deregistert.
[in, optional] CompletionContext
Ein nicht typisiertes Zeiger auf treiberdefinierte Kontextinformationen, die das Framework an die CompletionRoutine Rückruffunktion übergibt. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
Nichts
Bemerkungen
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Wenn Ihr Treiber E/A-Anforderungen weiterleitet, aber wenn Ihr Treiber benachrichtigt werden soll, wenn ein Treiber auf niedrigerer Ebene die Anforderung abgeschlossen hat, kann Ihr Treiber eine CompletionRoutine Rückruffunktion bereitstellen und WdfRequestSetCompletionRoutine aufrufen, um die Funktion zu registrieren. Das Framework ruft die Rückruffunktion auf, nachdem ein Treiber auf niedrigerer Ebene die E/A-Anforderung abgeschlossen hat.
Weitere Informationen zu WdfRequestSetCompletionRoutinefinden Sie unter Abschließen von E/A-Anforderungen.
Beispiele
Ein Codebeispiel, das WdfRequestSetCompletionRoutineverwendet, finden Sie unter WdfRequestSend.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfrequest.h (include Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <=DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqCompletionRoutine(kmdf) |