Compartilhar via


Função WdfIoQueueRetrieveFoundRequest (wdfio.h)

[Aplica-se a KMDF e UMDF]

O método WdfIoQueueRetrieveFoundRequest fornece uma solicitação especificada para o 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.

Retornar valor

WdfIoQueueRetrieveFoundRequest 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
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.

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

Comentários

Depois de chamar WdfIoQueueRetrieveFoundRequest para obter uma solicitação de E/S, o driver é 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 tiver sido criado com KMDF versão 1.11 ou posterior, o driver poderá 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 Gerenciando filas de E/S.

Exemplos

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

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 wdfio.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Regras de conformidade de DDI DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretriefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf)

Confira também

WdfIoQueueFindRequest

WdfIoQueueRetrieveNextRequest

WdfIoQueueRetrieveRequestByFileObject