Partager via


WdfIoQueueGetState, fonction (wdfio.h)

[S’applique à KMDF et UMDF]

La méthode WdfIoQueueGetState retourne la status 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 pour un objet de file d’attente d’infrastructure.

[out, optional] QueueRequests

Pointeur vers un emplacement qui reçoit le nombre de demandes 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 retournée

WdfIoQueueGetState retourne une valeur de type WDF_IO_QUEUE_STATE, qui peut contenir le or au niveau du bit de plusieurs énumérateurs WDF_IO_QUEUE_STATE .

Un bogue case activée 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çu aux fonctions suivantes, qui sont définies dans Wdfio.h :

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

Pour plus d’informations sur la méthode WdfIoQueueGetState , consultez Obtention des propriétés de la 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;
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfio.h (inclure 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