Função WdfIoQueueRetrieveRequestByFileObject (wdfio.h)

[Aplica-se a KMDF e UMDF]

O método WdfIoQueueRetrieveRequestByFileObject recupera a próxima solicitação de E/S disponível, de uma fila de E/S especificada, associada a um objeto de arquivo especificado.

Sintaxe

NTSTATUS WdfIoQueueRetrieveRequestByFileObject(
  [in]  WDFQUEUE      Queue,
  [in]  WDFFILEOBJECT FileObject,
  [out] WDFREQUEST    *OutRequest
);

Parâmetros

[in] Queue

Um identificador para um objeto de fila de estrutura.

[in] FileObject

Um identificador para um objeto de arquivo de estrutura.

[out] OutRequest

Um ponteiro para um local que recebe um identificador para um objeto de solicitação de estrutura. Se WdfIoQueueRetrieveRequestByFileObject não retornar STATUS_SUCCESS, ele não definirá o valor do local.

Retornar valor

WdfIoQueueRetrieveRequestByFileObject 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_NO_MORE_ENTRIES
A estrutura chegou ao fim da fila de E/S.
STATUS_INVALID_DEVICE_STATE
A fila de E/S especificada está configurada para o método de expedição paralela.
STATUS_WDF_PAUSED
A fila de E/S especificada é gerenciada por energia e seu dispositivo está em um estado de baixa potência.
 

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 que configurou uma fila de E/S para expedição manual ou sequencial pode chamar WdfIoQueueRetrieveRequestByFileObject. Para obter mais informações sobre como usar WdfIoQueueRetrieveRequestByFileObject com os métodos de expedição manual ou sequencial, consulte Dispatching Methods for I/O Requests.

Depois de chamar WdfIoQueueRetrieveRequestByFileObject 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.

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

Exemplos

O exemplo de código a seguir obtém, de uma fila de E/S especificada, um identificador para o próximo objeto de solicitação de estrutura associado a um objeto de arquivo de estrutura especificado.

WDFREQUEST  request;

status = WdfIoQueueRetrieveRequestByFileObject(
                                               queue,
                                               fileObject,
                                               &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 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)

Confira também

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveNextRequest