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)

Voir aussi

CompletionRoutine