WdfRequestSetCompletionRoutine, fonction (wdfrequest.h)
[S’applique à KMDF et UMDF]
La méthode WdfRequestSetCompletionRoutine inscrit ou annule l’inscription d’une routine d’achèvement pour l’objet de demande d’infrastructure spécifié.
Syntaxe
void WdfRequestSetCompletionRoutine(
[in] WDFREQUEST Request,
[in, optional] PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
[in, optional] __drv_aliasesMem WDFCONTEXT CompletionContext
);
Paramètres
[in] Request
Handle pour un objet de requête d’infrastructure.
[in, optional] CompletionRoutine
Pointeur vers une fonction de rappel CompletionRoutine , si le pilote inscrit une routine d’achèvement, ou NULL du pilote annule l’inscription d’une routine d’achèvement précédemment inscrite.
[in, optional] CompletionContext
Pointeur non typé vers les informations de contexte définies par le pilote que le framework transmet à la fonction de rappel CompletionRoutine . Ce paramètre est facultatif et peut être NULL.
Valeur de retour
None
Remarques
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Si votre pilote transfère les demandes d’E/S, mais si vous souhaitez que votre pilote soit averti lorsqu’un pilote de niveau inférieur termine la demande, il peut fournir une fonction de rappel CompletionRoutine et appeler WdfRequestSetCompletionRoutine pour inscrire la fonction. L’infrastructure appelle la fonction de rappel une fois qu’un pilote de niveau inférieur a terminé la demande d’E/S.
Pour plus d’informations sur WdfRequestSetCompletionRoutine, consultez Achèvement des demandes d’E/S.
Exemples
Pour obtenir un exemple de code qui utilise WdfRequestSetCompletionRoutine, consultez WdfRequestSend.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfrequest.h (inclure Wdf.h) |
Bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqCompletionRoutine(kmdf) |