Condividi tramite


Metodo IWDFIoRequest2::Requeue (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. Nessuna nuova funzionalità viene aggiunta 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 informazioni, vedere Introduzione con UMDF.]

Il metodo Requeue restituisce una richiesta di I/O alla testa della coda di I/O da cui è stata recapitata al driver.

Sintassi

HRESULT Requeue();

Valore restituito

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

Codice restituito Descrizione
HRESULT_FROM_WIN32 (ERROR_INVALID_OPERATION)
Questo valore viene restituito se si verifica una delle operazioni seguenti:
  • La richiesta di I/O specificata non proviene da una coda di I/O.
  • Il driver non possiede la richiesta di I/O.
  • La richiesta è annullabile.
  • Il metodo di invio della coda non è manuale.
 

Questo metodo potrebbe restituire uno degli altri valori che Winerror.h contiene.

Commenti

Un driver può chiamare Requeue solo se usa il metodo di invio manuale per la coda di I/O.

Esempio

Nell'esempio di codice seguente viene illustrato un segmento di una funzione di callback IQueueCallbackStateChange::OnStateChange . Il segmento ottiene una richiesta di I/O dall'I/O e quindi restituisce la richiesta alla coda.

void 
CMyQueue::OnStateChange(
    __in IWDFIoQueue* pWdfQueue,
    __in WDF_IO_QUEUE_STATE 
    )
{
    HRESULT hr;
    IWDFIoRequest* Request;
...
    //
    // Get the IWDFIoRequest interface of the next request.
    //
    hr = pWdfQueue->RetrieveNextRequest(&Request);
...
    //
    // Declare an IWDFIoRequest2 interface pointer and obtain the
    // IWDFIoRequest2 interface from the IWDFIoRequest interface.
    //
    CComQIPtr<IWDFIoRequest2> r2 = Request;

    //
    // Add code here to determine whether to process or requeue the request.
    //
...
    //
    // Requeue the request.
    //
    hr = r2->Requeue();
    if (FAILED(hr)) goto Error;
...
}

Requisiti

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
Piattaforma di destinazione Desktop
Versione UMDF minima 1,9
Intestazione wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Vedi anche

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest2