Condividi tramite


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 è gestito 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.

Osservazioni:

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 possiede la richiesta e deve elaborare la richiesta di I/O in qualche modo.

Per altre informazioni sul metodo di WdfIoQueueRetrieveRequestByFileObject, vedere Managing I/O Queues.

Esempi

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

Requisito Valore
Piattaforma di destinazione Universale
versione minima di KMDF 1.0
versione minima di UMDF 2.0
intestazione wdfio.h (include Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= LIVELLO_DI_INVIO
regole di conformità DDI DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedere anche

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveNextRequest