Compartilhar via


Método IWDFIoRequest2::Requeue (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]

O método Requeue retorna uma solicitação de E/S para o cabeçalho da fila de E/S da qual foi entregue ao driver.

Sintaxe

HRESULT Requeue();

Retornar valor

A nova remoção retornará S_OK se a operação for bem-sucedida. Caso contrário, esse método pode retornar um dos seguintes valores:

Código de retorno Descrição
HRESULT_FROM_WIN32 (ERROR_INVALID_OPERATION)
Esse valor será retornado se ocorrer um dos seguintes procedimentos:
  • A solicitação de E/S especificada não veio de uma fila de E/S.
  • O driver não possui a solicitação de E/S.
  • A solicitação é cancelável.
  • O método de expedição da fila não é manual.
 

Esse método pode retornar um dos outros valores que Winerror.h contém.

Comentários

Um driver só poderá chamar Requeue se usar o método de expedição manual para a fila de E/S.

Exemplos

O exemplo de código a seguir mostra um segmento de uma função de retorno de chamada IQueueCallbackStateChange::OnStateChange . O segmento obtém uma solicitação de E/S da E/S e, em seguida, retorna a solicitação para a fila.

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;
...
}

Requisitos

Requisito Valor
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Área de Trabalho
Versão mínima do UMDF 1,9
Cabeçalho wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Confira também

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest2