Partager via


WdfRequestIsCanceled, fonction (wdfrequest.h)

[S’applique à KMDF et UMDF]

La méthode WdfRequestIsCanceled détermine si le gestionnaire d’E/S a tenté d’annuler une demande d’E/S spécifiée.

Syntaxe

BOOLEAN WdfRequestIsCanceled(
  [in] WDFREQUEST Request
);

Paramètres

[in] Request

Handle pour un objet de requête d’infrastructure.

Valeur retournée

WdfRequestIsCanceled retourne TRUE si le gestionnaire d’E/S a tenté d’annuler la demande d’E/S spécifiée. Cette méthode peut retourner TRUE même si le pilote appelant n’est pas propriétaire de la requête. Si le pilote n’est pas propriétaire de la demande, il ne doit pas appeler WdfRequestIsCanceled. Pour plus d’informations, consultez Remarques.

WdfRequestIsCanceled retourne FALSE pour l’une des raisons suivantes :

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Remarques

Si votre pilote n’a pas appelé WdfRequestMarkCancelable ou WdfRequestMarkCancelableEx pour inscrire une fonction de rappel EvtRequestCancel , mais si vous souhaitez que votre pilote détermine si le gestionnaire d’E/S a tenté d’annuler une demande d’E/S, le pilote peut appeler WdfRequestIsCanceled.

Si le pilote a appelé WdfRequestMarkCancelable ou WdfRequestMarkCancelableEx, il doit appeler WdfRequestUnmarkCancelable avant d’appeler WdfRequestIsCanceled.

Un pilote peut appeler WdfRequestIsCanceled pour une requête uniquement si le pilote est propriétaire de la demande d’E/S.

Si WdfRequestIsCanceled retourne TRUE, votre pilote doit annuler la demande en appelant WdfRequestComplete avec un paramètre Status de STATUS_CANCELLED. Si le pilote tente d’effectuer une demande qu’il n’est pas propriétaire, il peut provoquer le blocage du système.

Pour plus d’informations sur WdfRequestIsCanceled, consultez Annulation des demandes d’E/S

Exemples

L’exemple de code suivant appelle WdfRequestComplete si WdfRequestIsCanceled retourne TRUE.

if (WdfRequestIsCanceled(request)) {
    WdfRequestComplete(
                       request,
                       STATUS_CANCELLED
                       );
}

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), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqIsCancOnCancReq(kmdf)

Voir aussi

EvtRequestCancel

WdfRequestComplete

WdfRequestMarkCancelable

WdfRequestMarkCancelableEx

WdfRequestUnmarkCancelable