Função WdfRequestRequeue (wdfrequest.h)

[Aplica-se a KMDF e UMDF]

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

Sintaxe

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

Parâmetros

[in] Request

Um identificador para um objeto de solicitação de estrutura.

Retornar valor

WdfRequestRequeue retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
Um parâmetro de entrada é inválido.
STATUS_INVALID_DEVICE_REQUEST
Esse valor será retornado se ocorrer um destes 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 também pode retornar outros valores NTSTATUS.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

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

Se o driver chamar WdfRequestRequeue depois de chamar WdfIoQueuePurge, a tentativa de remoção poderá ter êxito antes da limpeza ser concluída. Nas versões 1.9 e anteriores do KMDF, essa sequência faz com que o sistema operacional falhe. Esse problema foi corrigido no KMDF versão 1.11 e posterior.

Para obter mais informações sobre WdfRequestRequeue, consulte Requeuing I/S Requests.

Exemplos

O exemplo de código a seguir retorna uma solicitação de E/S especificada para a fila da qual o driver recebeu a solicitação.

NTSTATUS status;

status = WdfRequestRequeue(request);

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfrequest.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Regras de conformidade de DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)