estrutura WDF_IO_QUEUE_CONFIG (wdfio.h)
[Aplica-se a KMDF e UMDF]
A estrutura WDF_IO_QUEUE_CONFIG contém informações de configuração para um objeto de fila de estrutura.
Sintaxe
typedef struct _WDF_IO_QUEUE_CONFIG {
ULONG Size;
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType;
WDF_TRI_STATE PowerManaged;
BOOLEAN AllowZeroLengthRequests;
BOOLEAN DefaultQueue;
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault;
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead;
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite;
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl;
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl;
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop;
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume;
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue;
union {
struct {
ULONG NumberOfPresentedRequests;
} Parallel;
} Settings;
WDFDRIVER Driver;
} WDF_IO_QUEUE_CONFIG, *PWDF_IO_QUEUE_CONFIG;
Membros
Size
O comprimento, em bytes, dessa estrutura.
DispatchType
Um enumerador WDF_IO_QUEUE_DISPATCH_TYPE que identifica o tipo de expedição de solicitação para a fila.
PowerManaged
Um valor de tipo WDF_TRI_STATE que, se definido como WdfTrue, indica que a estrutura lida com o gerenciamento de energia da fila.
Se definido como WdfFalse, o driver deverá lidar com o gerenciamento de energia da fila.
Se definido como WdfUseDefault, a estrutura manipulará o gerenciamento de energia para a fila, a menos que o driver chame WdfFdoInitSetFilter.
Os drivers acima do proprietário da política de energia na pilha de driver não devem definir o membro PowerManaged como WdfTrue.
Para obter mais informações sobre filas de E/S gerenciadas por energia, consulte Gerenciamento de energia para filas de E/S.
AllowZeroLengthRequests
Um valor booliano que, se TRUE, indica que o driver espera receber solicitações de leitura ou gravação que têm um comprimento de buffer igual a zero, portanto, a estrutura entrega essas solicitações ao driver. Se FALSE, a estrutura não entregará essas solicitações ao driver; Em vez disso, ele os conclui com uma status de conclusão de STATUS_SUCCESS.
DefaultQueue
Um valor booliano que, se VERDADEIRO, indica que a fila será a fila de E/S padrão do dispositivo. Se FALSE, a fila não será a fila padrão do dispositivo.
EvtIoDefault
Um ponteiro para a função de retorno de chamada EvtIoDefault específica da fila do driver ou NULL.
EvtIoRead
Um ponteiro para a função de retorno de chamada EvtIoRead específica da fila do driver ou NULL.
EvtIoWrite
Um ponteiro para a função de retorno de chamada EvtIoWrite específica da fila do driver ou NULL.
EvtIoDeviceControl
Um ponteiro para a função de retorno de chamada EvtIoDeviceControl específica da fila do driver ou NULL.
EvtIoInternalDeviceControl
Um ponteiro para a função de retorno de chamada EvtIoInternalDeviceControl específica da fila do driver ou NULL.
EvtIoStop
Um ponteiro para a função de retorno de chamada EvtIoStop específica da fila do driver ou NULL.
EvtIoResume
Um ponteiro para a função de retorno de chamada EvtIoResume específica da fila do driver ou NULL.
EvtIoCanceledOnQueue
Um ponteiro para a função de retorno de chamada EvtIoCanceledOnQueue específica da fila do driver ou NULL.
Settings
Settings.Parallel
Settings.Parallel.NumberOfPresentedRequests
Para o método de expedição paralela, o número máximo de solicitações de E/S que a estrutura fornece de forma assíncrona aos manipuladores de solicitação da fila de E/S. Para obter mais informações, consulte a seção Comentários a seguir. Para os métodos de expedição sequencial e manual, esse membro deve ser zero. Esse membro está disponível na versão 1.9 e versões posteriores do KMDF.
Driver
Apenas para uso interno. Definido como NULL. Esse membro está disponível na versão 1.11 e versões posteriores do KMDF.
Comentários
O driver deve inicializar a estrutura de WDF_IO_QUEUE_CONFIG chamando WDF_IO_QUEUE_CONFIG_INIT ou WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE.
A estrutura WDF_IO_QUEUE_CONFIG é usada como um parâmetro de entrada para WdfIoQueueCreate.
A partir da versão 1.9 do KMDF, os drivers podem usar o membro NumberOfPresentedRequests para especificar o número máximo de solicitações de E/S que a estrutura fornece de forma assíncrona aos manipuladores de solicitação de uma fila de E/S paralela. Depois que a estrutura entregar o número especificado de solicitações de E/S ao driver, ela não entregará mais solicitações da fila até que o driver seja concluído, cancele ou requeira pelo menos uma das solicitações.
Para filas paralelas, WDF_IO_QUEUE_CONFIG_INIT e WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE definir o membro NumberOfPresentedRequests como seu valor padrão (-1), o que indica que a estrutura pode fornecer um número ilimitado de solicitações de E/S ao driver.
Requisitos
Requisito | Valor |
---|---|
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfio.h (inclua Wdf.h) |