IQueueCallbackIoStop ::OnIoStop, méthode (wudfddi.h)
[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]
La fonction de rappel OnIoStop arrête le traitement de la requête 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 de file d’attente d’E/S dont 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 requête de framework dont le traitement est arrêté.
[in] ActionFlags
Or au niveau du bit valide de WDF_REQUEST_STOP_ACTION_FLAGSvaleurs typées qui identifie l’état d’une demande d’action d’arrêt.
Valeur de retour
Aucun
Remarques
Un pilote inscrit l’interface IQueueCallbackIoStop lorsque le pilote appelle la méthode IWDFDevice ::CreateIoQueue pour créer une file d’attente d’E/S ou configurer la file d’attente d’E/S par défaut.
Si un pilote inscrit un OnIoStop fonction de rappel 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é, 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 requête d’E/S. Vous devez utiliser les règles suivantes :
Si le pilote possède la demande d’E/S, il doit appeler IWDFIoRequest ::Complete pour terminer ou annuler la demande, ou il doit reporter le traitement supplémentaire de la demande, puis appeler IWDFIoRequest2 ::StopAcknowledge.
Si le pilote a transféré la requête 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 WdfRequestStopRequestRequestCancelable est défini dans le paramètre ActionFlags, le pilote doit appeler IWDFIoRequest ::UnmarkCancelable avant d’appeler IWDFIoRequest ::Complete pour terminer (ou annuler) la requête ou appeler IWDFIoRequest2 ::StopAcknowledge pour requeuter la requête.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Windows |
d’en-tête | wudfddi.h (include Wudfddi.h) |