Partager via


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)

Voir aussi

IQueueCallbackIoStop

IWDFDevice ::CreateIoQueue

IWDFIoQueue

IWDFIoRequest

IWDFIoRequest2 ::StopAcknowledge

WDF_REQUEST_STOP_ACTION_FLAGS