Funzione WdfIoQueueRetrieveFoundRequest (wdfio.h)
[Si applica a KMDF e UMDF]
Il metodo WdfIoQueueRetrieveFoundRequest recapita una richiesta specificata al driver, in modo che il driver possa elaborare la richiesta.
Sintassi
NTSTATUS WdfIoQueueRetrieveFoundRequest(
[in] WDFQUEUE Queue,
[in] WDFREQUEST FoundRequest,
[out] WDFREQUEST *OutRequest
);
Parametri
[in] Queue
Handle per un oggetto coda del framework.
[in] FoundRequest
Handle per un oggetto richiesta framework ottenuto chiamando WdfIoQueueFindRequest.
[out] OutRequest
Puntatore a una posizione che riceve un handle per un oggetto richiesta framework. Il driver deve usare questo handle durante l'elaborazione della richiesta.
Valore restituito
WdfIoQueueRetrieveFoundRequest restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Il driver ha fornito un handle non valido. |
|
Impossibile trovare la richiesta identificata dal parametro FoundRequest nella coda di I/O. |
|
Il framework ha raggiunto la fine della coda di I/O senza trovare una richiesta che corrisponda ai criteri di ricerca. |
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:
Dopo aver chiamato WdfIoQueueRetrieveFoundRequest per ottenere una richiesta di I/O, il driver possiede la richiesta e deve elaborare la richiesta di I/O in qualche modo.
Prima di chiamare WdfIoQueueRetrieveFoundRequest, il driver deve chiamare WdfIoQueueFindRequest, che recupera un handle che il driver può usare come parametro FoundRequest per WdfIoQueueRetrieveFoundRequest.
Se il driver è stato compilato con KMDF versione 1.11 o successiva, il driver può chiamare WdfIoQueueRetrieveFoundRequest senza prima chiamare WdfIoQueueFindRequest. In questo caso, il driver deve assicurarsi che l'oggetto richiesta sia ancora valido e nella coda.
Se una chiamata a WdfIoQueueRetrieveFoundRequest restituisce STATUS_NOT_FOUND, è stata rimossa una richiesta precedentemente presente nella coda. La richiesta potrebbe essere stata annullata.
Per altre informazioni sul metodo di WdfIoQueueRetrieveFoundRequest, vedere Managing I/O Queues.
Esempi
Per un esempio di codice che usa WdfIoQueueRetrieveFoundRequest, vedere WdfIoQueueFindRequest.
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), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretrievefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf) |