Méthode IQueueCallbackIoStop ::OnIoStop (wudfddi.h)
[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]
La fonction de rappel OnIoStop arrête le traitement de la demande d’E/S spécifiée à partir de la file d’attente spécifiée.
Syntaxe
void OnIoStop(
[in] IWDFIoQueue *pWdfQueue,
[in] IWDFIoRequest *pWdfRequest,
[in] ULONG ActionFlags
);
Paramètres
[in] pWdfQueue
Pointeur vers l’interface IWDFIoQueue pour l’objet file d’attente d’E/S à partir duquel le traitement de la requête d’E/S est arrêté.
[in] pWdfRequest
Pointeur vers l’interface IWDFIoRequest qui représente l’objet de demande d’infrastructure dont le traitement est arrêté.
[in] ActionFlags
OR au niveau du bit valide de valeurs de type WDF_REQUEST_STOP_ACTION_FLAGS qui identifie l’état d’une demande d’action d’arrêt.
Valeur de retour
None
Remarques
Un pilote inscrit l’interface IQueueCallbackIoStop quand le pilote appelle la méthode IWDFDevice ::CreateIoQueue pour créer une file d’attente d’E/S ou pour configurer la file d’attente d’E/S par défaut.
Si un pilote inscrit une fonction de rappel OnIoStop pour une file d’attente d’E/S, l’infrastructure l’appelle lorsque l’appareil sous-jacent de la file d’attente quitte son état de fonctionnement (D0). L’infrastructure appelle la fonction de rappel OnIoStop pour chaque demande d’E/S que le pilote n’a pas terminée, y compris les demandes que le pilote possède et celles qu’il a transférées à une cible d’E/S.
La fonction de rappel OnIoStop doit terminer, annuler ou reporter le traitement ultérieur de la demande d’E/S. Vous devez utiliser les règles suivantes :
Si le pilote est propriétaire de la demande d’E/S, il doit appeler IWDFIoRequest ::Complete pour terminer ou annuler la demande, ou il doit reporter le traitement ultérieur de la demande, puis appeler IWDFIoRequest2 ::StopAcknowledge.
Si le pilote a transféré la demande d’E/S à une cible d’E/S, il doit appeler IWDFIoRequest ::CancelSentRequest pour tenter d’annuler la demande, ou il doit reporter le traitement ultérieur de la demande, puis appeler StopAcknowledge.
Si l’indicateur WdfRequestStopRequestCancelable est défini dans le paramètre ActionFlags , le pilote doit appeler IWDFIoRequest ::UnmarkCancelable avant d’appeler IWDFIoRequest ::Complete pour terminer (ou annuler) la demande ou d’appeler IWDFIoRequest2 ::StopAcknowledge pour remettre la demande en file d’attente.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | wudfddi.h (inclure Wudfddi.h) |