Metodo IWDFIoQueue::RetrieveNextRequestByFileObject (wudfddi.h)
Avviso
UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre info, vedi Introduzione con UMDF.
Il metodo RetrieveNextRequestByFileObject recupera da una coda di I/O la richiesta di I/O successiva il cui oggetto file corrisponde all'oggetto file specificato.
Sintassi
HRESULT RetrieveNextRequestByFileObject(
[in] IWDFFile *pFile,
[out] IWDFIoRequest **ppRequest
);
Parametri
[in] pFile
Puntatore all'interfaccia IWDFFile per l'oggetto file utilizzato per recuperare la richiesta di I/O successiva il cui oggetto file corrisponde a questo oggetto file fornito.
[out] ppRequest
Puntatore a un buffer che riceve un puntatore all'interfaccia IWDFIoRequest per l'oggetto richiesta successivo il cui oggetto file corrisponde all'oggetto file fornito oppure riceve NULL se la coda è vuota o se la richiesta successiva non viene trovata.
Valore restituito
RetrieveNextRequestByFileObject restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
S_OK | La richiesta di I/O successiva è stata recuperata correttamente dalla coda di I/O. |
HRESULT_FROM_NT(STATUS_WDF_PAUSED) | La coda non invia richieste. Questa situazione si verifica se il dispositivo subisce una transizione dello stato di alimentazione e tutte le code vengono arrestate dall'invio di richieste o se il driver ha chiamato in modo esplicito IWDFIoQueue::Stop per interrompere l'invio delle richieste. Questa situazione può verificarsi anche se il driver tenta di rimuovere una richiesta da una coda manuale gestita dall'alimentazione e che è spenta o se la coda viene sospesa. |
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS) | Nessuna richiesta nella coda. |
HRESULT_FROM_NT(STATUS_INVALID_DEVICE_STATE) | La chiamata è stata effettuata per recuperare la richiesta da una coda parallela. |
RetrieveNextRequestByFileObject potrebbe restituire anche altri valori HRESULT.
Commenti
Se un driver configura una coda di I/O per l'invio manuale delle richieste di I/O, il driver può chiamare il metodo RetrieveNextRequestByFileObject per ottenere la richiesta successiva il cui oggetto file corrisponde all'oggetto file fornito dalla coda. Per altre informazioni sull'invio manuale delle richieste di I/O, vedere Configuring Dispatch Mode for an I/O Queue .For more information about manually dispatch requests, see Configuring Dispatch Mode for an I/O Queue.
Se più richieste di I/O i cui oggetti file corrispondono all'oggetto file a cui punta il parametro pFile nella coda di I/O, viene restituita la prima richiesta di I/O.
Esempio
Per un esempio di codice su come usare il metodo RetrieveNextRequestByFileObject , vedere IWDFIoQueue::RetrieveNextRequest.
Requisiti
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
Piattaforma di destinazione | Desktop |
Versione UMDF minima | 1.5 |
Intestazione | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |