Condividi tramite


Funzione WdfIoQueueGetState (wdfio.h)

[Si applica a KMDF e UMDF]

Il metodo WdfIoQueueGetState restituisce lo stato di una coda di I/O specificata.

Sintassi

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

Parametri

[in] Queue

Handle per un oggetto coda del framework.

[out, optional] QueueRequests

Puntatore a una posizione che riceve il numero di richieste di I/O attualmente presenti nella coda di I/O e che non sono state recapitate al driver. Questo puntatore è facoltativo e può essere NULL.

[out, optional] DriverRequests

Puntatore a una posizione che riceve il numero di richieste di I/O recapitate al driver, ma che il driver non è stato completato o annullato. Questo puntatore è facoltativo e può essere NULL.

Valore restituito

WdfIoQueueGetState restituisce un valore tipizzato WDF_IO_QUEUE_STATE, che può contenere l'OR bit per bit di diversi enumeratori WDF_IO_QUEUE_STATE .

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Commenti

Dopo aver chiamato WdfIoQueueGetState, il driver può passare il valore dello stato ricevuto alle funzioni seguenti, definite in Wdfio.h:

Se il driver usa la sincronizzazione automatica del framework, lo stato della coda di I/O non cambierà tra il momento in cui il metodo WdfIoQueueGetState ottiene informazioni sullo stato dal framework e il momento in cui il metodo restituisce. In caso contrario, lo stato della coda potrebbe cambiare prima che venga restituito il metodo WdfIoQueueGetState .

Per altre informazioni sul metodo WdfIoQueueGetState , vedere Recupero delle proprietà della coda di I/O.

Esempio

L'esempio di codice seguente è una routine che restituisce TRUE se una coda di I/O specificata è inattiva.

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

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfio.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

EvtIoQueueState

WDF_IO_QUEUE_STATE