Função WdfIoQueueRetrieveFoundRequest (wdfio.h)

[Aplica-se a KMDF e UMDF]

O método WdfIoQueueRetrieveFoundRequest fornece uma solicitação especificada ao driver para que o driver possa processar a solicitação.

Sintaxe

NTSTATUS WdfIoQueueRetrieveFoundRequest(
  [in]  WDFQUEUE   Queue,
  [in]  WDFREQUEST FoundRequest,
  [out] WDFREQUEST *OutRequest
);

Parâmetros

[in] Queue

Um identificador para um objeto de fila de estrutura.

[in] FoundRequest

Um identificador para um objeto de solicitação de estrutura que foi obtido chamando WdfIoQueueFindRequest.

[out] OutRequest

Um ponteiro para um local que recebe um identificador para um objeto de solicitação de estrutura. O driver deve usar esse identificador ao processar a solicitação.

Valor retornado

WdfIoQueueRetrieveFoundRequest retornará STATUS_SUCCESS 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
STATUS_INVALID_PARAMETER
O driver forneceu um identificador inválido.
STATUS_NOT_FOUND
A solicitação identificada pelo parâmetro FoundRequest não pode ser encontrada na fila de E/S.
STATUS_NO_MORE_ENTRIES
A estrutura chegou ao fim da fila de E/S sem encontrar uma solicitação que corresponda aos critérios de pesquisa.
 

Esse método também pode retornar outros valores NTSTATUS.

Ocorre uma verificação de bug se o driver fornece um identificador de objeto inválido.

Comentários

Depois de chamar WdfIoQueueRetrieveFoundRequest para obter uma solicitação de E/S, o driver é o proprietário da solicitação e deve processar a solicitação de E/S de alguma maneira.

Antes de chamar WdfIoQueueRetrieveFoundRequest, o driver deve chamar WdfIoQueueFindRequest, que recupera um identificador que o driver pode usar como o parâmetro FoundRequest para WdfIoQueueRetrieveFoundRequest.

Se o driver foi criado com KMDF versão 1.11 ou posterior, o driver pode chamar WdfIoQueueRetrieveFoundRequest sem primeiro chamar WdfIoQueueFindRequest. Nesse caso, o driver deve garantir que o objeto de solicitação ainda seja válido e na fila.

Se uma chamada para WdfIoQueueRetrieveFoundRequest retornar STATUS_NOT_FOUND, uma solicitação que estava anteriormente na fila foi removida. A solicitação pode ter sido cancelada.

Para obter mais informações sobre o método WdfIoQueueRetrieveFoundRequest , consulte Como gerenciar filas de E/S.

Exemplos

Para obter um exemplo de código que usa WdfIoQueueRetrieveFoundRequest, consulte WdfIoQueueFindRequest.

Requisitos

   
Plataforma de Destino Universal
Versão mínima do KMDF 1,0
Versão mínima do UMDF 2,0
Cabeçalho wdfio.h (include Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Regras de conformidade DDI DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretrievefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf)

Confira também

WdfIoQueueFindRequest

WdfIoQueueRetrieveNextRequest

WdfIoQueueRetrieveRequestByFileObject