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

Valor de retorno

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

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

Observações

Depois de chamar WdfIoQueueRetrieveFoundRequest para obter uma solicitação de E/S, o de driver é proprietário solicitação e deve processar o de 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 chamar primeiro 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
da 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)

Consulte também

WdfIoQueueFindRequest

WdfIoQueueRetrieveNextRequest

WdfIoQueueRetrieveRequestByFileObject