Funzione WdfIoQueueRetrieveRequestByFileObject (wdfio.h)

[Si applica a KMDF e UMDF]

Il metodo WdfIoQueueRetrieveRequestByFileObject recupera la successiva richiesta di I/O disponibile, da una coda di I/O specificata, associata a un oggetto file specificato.

Sintassi

NTSTATUS WdfIoQueueRetrieveRequestByFileObject(
  [in]  WDFQUEUE      Queue,
  [in]  WDFFILEOBJECT FileObject,
  [out] WDFREQUEST    *OutRequest
);

Parametri

[in] Queue

Handle per un oggetto coda del framework.

[in] FileObject

Handle per un oggetto file framework.

[out] OutRequest

Puntatore a una posizione che riceve un handle per un oggetto richiesta framework. Se WdfIoQueueRetrieveRequestByFileObject non restituisce STATUS_SUCCESS, non imposta il valore della posizione.

Valore restituito

WdfIoQueueRetrieveRequestByFileObject restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
Il driver ha fornito un handle non valido.
STATUS_NO_MORE_ENTRIES
Il framework ha raggiunto la fine della coda di I/O.
STATUS_INVALID_DEVICE_STATE
La coda di I/O specificata è configurata per il metodo di invio parallelo.
STATUS_WDF_PAUSED
La coda di I/O specificata è gestita dall'alimentazione e il relativo dispositivo è in uno stato a basso consumo.
 

Questo metodo potrebbe anche restituire altri valori NTSTATUS.

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

Commenti

Un driver che ha configurato una coda di I/O per l'invio manuale o sequenziale potrebbe chiamare WdfIoQueueRetrieveRequestByFileObject. Per altre informazioni sull'uso di WdfIoQueueRetrieveRequestByFileObject con i metodi di invio manuale o sequenziale, vedere Metodi di invio per le richieste di I/O.

Dopo aver chiamato WdfIoQueueRetrieveRequestByFileObject per ottenere una richiesta di I/O, il driver è proprietario della richiesta e deve elaborare la richiesta di I/O in qualche modo.

Per altre informazioni sul metodo WdfIoQueueRetrieveRequestByFileObject , vedere Gestione delle code di I/O.

Esempio

Nell'esempio di codice seguente viene ottenuto, da una coda di I/O specificata, un handle per l'oggetto richiesta framework successivo associato a un oggetto file framework specificato.

WDFREQUEST  request;

status = WdfIoQueueRetrieveRequestByFileObject(
                                               queue,
                                               fileObject,
                                               &request
                                               );

Requisiti

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

Vedi anche

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveNextRequest