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 |
---|---|
|
O driver forneceu um identificador inválido. |
|
A solicitação identificada pelo parâmetro FoundRequest não pode ser encontrada na fila de E/S. |
|
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) |