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 |
---|---|
|
O driver forneceu um identificador inválido. |
|
A estrutura chegou ao fim da fila de E/S. |
|
A fila de E/S especificada está configurada para o método de expedição paralela. |
|
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) |