Partager via


WdfIoQueueGetState, fonction (wdfio.h)

[S’applique à KMDF et UMDF]

La méthode WdfIoQueueGetState retourne l’état d’une file d’attente d’E/S spécifiée.

Syntaxe

WDF_IO_QUEUE_STATE WdfIoQueueGetState(
  [in]            WDFQUEUE Queue,
  [out, optional] PULONG   QueueRequests,
  [out, optional] PULONG   DriverRequests
);

Paramètres

[in] Queue

Handle vers un objet de file d’attente framework.

[out, optional] QueueRequests

Pointeur vers un emplacement qui reçoit le nombre de requêtes d’E/S qui se trouvent actuellement dans la file d’attente d’E/S et qui n’ont pas été remises au pilote. Ce pointeur est facultatif et peut être NULL.

[out, optional] DriverRequests

Pointeur vers un emplacement qui reçoit le nombre de demandes d’E/S qui ont été remises au pilote, mais que le pilote n’a pas terminé ou annulé. Ce pointeur est facultatif et peut être NULL.

Valeur de retour

WdfIoQueueGetState retourne une valeur WDF_IO_QUEUE_STATE-typée, qui peut contenir l’OR au niveau du bit de plusieurs énumérateurs WDF_IO_QUEUE_STATE.

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Remarques

Après avoir appelé WdfIoQueueGetState, votre pilote peut passer la valeur d’état reçue aux fonctions suivantes, qui sont définies dans Wdfio.h:

Si votre pilote utilise le de synchronisation automatique de l’infrastructure, l’état de la file d’attente d’E/S ne change pas entre le moment où la méthode WdfIoQueueGetState obtient les informations d’état de l’infrastructure et l’heure à laquelle la méthode retourne. Sinon, l’état de la file d’attente peut changer avant que la méthode WdfIoQueueGetState retourne.

Pour plus d’informations sur la méthode WdfIoQueueGetState, consultez Obtention des propriétés de file d’attente d’E/S.

Exemples

L’exemple de code suivant est une routine qui retourne TRUE si une file d’attente d’E/S spécifiée est inactive.

BOOLEAN
IsQueueIdle(
    IN WDFQUEUE Queue
    )
{
    WDF_IO_QUEUE_STATE queueStatus;
    queueStatus = WdfIoQueueGetState(
                                     Queue,
                                     NULL,
                                     NULL
                                     );
    return (WDF_IO_QUEUE_IDLE(queueStatus)) ? TRUE : FALSE;
}

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

Voir aussi

EvtIoQueueState

WDF_IO_QUEUE_STATE