Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique à KMDF et UMDF]
La méthode WdfIoQueueStop empêche une file d’attente d’E/S de remettre des demandes d’E/S, mais la file d’attente reçoit et stocke de nouvelles requêtes.
Syntaxe
void WdfIoQueueStop(
[in] WDFQUEUE Queue,
[in, optional] PFN_WDF_IO_QUEUE_STATE StopComplete,
[in, optional] WDFCONTEXT Context
);
Paramètres
[in] Queue
Handle vers un objet de file d’attente framework.
[in, optional] StopComplete
Pointeur vers une fonction de rappel fournie par le pilote EvtIoQueueState. Ce paramètre est facultatif et peut être NULL.
[in, optional] Context
Pointeur non typé vers les informations de contexte fournies par le pilote que l’infrastructure transmet à la fonction de rappel EvtIoQueueState. Ce paramètre est facultatif et peut être NULL.
Valeur de retour
Aucun
Remarques
Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.
Si le pilote fournit une EvtIoQueueState fonction de rappel, l’infrastructure l’appelle une fois toutes les demandes remises au pilote terminées ou annulées. Vous pouvez modifier le runtime d’intégration au niveau duquel le rappel s’exécute en spécifiant ExecutionLevel dans WDF_OBJECT_ATTRIBUTES au moment de la création de la file d’attente. Pour plus d’informations, consultez la section Remarques deEVT_WDF_IO_QUEUE_STATE.
La méthode WdfIoQueueStop permet à la file d’attente de recevoir de nouvelles demandes, même si la file d’attente ne recevait pas de nouvelles demandes avant que le pilote ait appelé WdfIoQueueStop. Par exemple, avant d’appeler WdfIoQueueStop, un pilote peut appeler WdfIoQueueDrain, ce qui entraîne l’arrêt de l’ajout de nouvelles requêtes d’E/S à la file d’attente. L’appel suivant du pilote de WdfIoQueueStop entraîne la reprise de l’infrastructure en ajoutant des requêtes à la file d’attente.
Un pilote ne doit pas appeler WdfIoQueueDrain après avoir appelé WdfIoQueueStop jusqu’à ce qu’il ait redémarré la file d’attente en appelant WdfIoQueueStart.
Pour plus d’informations sur la méthode WdfIoQueueStop, consultez Gestion des files d’attente d’E/S.
Exemples
L’exemple de code suivant arrête une file d’attente d’E/S spécifiée. Lorsque toutes les demandes remises au pilote ont été terminées ou annulées, elle appelle la fonction EvtIoQueueStateStop d’un pilote.
WDFCONTEXT stopContext;
stopContext = &myContext;
WdfIoQueueStop(
queue,
EvtIoQueueStateStop,
stopContext
);
Spécifications
Besoin | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
En-tête | wdfio.h (include Wdf.h) |
Bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
règles de conformité DDI | ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf) |