Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A rotina KeInitializeQueue inicializa um objeto de fila no qual os threads podem aguardar as entradas.
Sintaxe
VOID KeInitializeQueue(
[out] PRKQUEUE Queue,
[in] ULONG Count
);
Parâmetros
[out] Queue
Ponteiro para uma estrutura KQUEUE para a qual o chamador deve fornecer armazenamento residente no pool nãopagado. Essa estrutura é definida da seguinte maneira:
typedef struct _KQUEUE {
DISPATCHER_HEADER Header;
LIST_ENTRY EntryListHead;
ULONG CurrentCount;
ULONG MaximumCount;
LIST_ENTRY ThreadListHead;
} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
| Membro | Significado |
|---|---|
| cabeçalho | Cabeçalho da fila. |
| EntryListHead | Ponteiro para a primeira entrada na fila. |
| CurrentCount | Número atual de threads aguardando na fila. |
| MaximumCount | Número máximo de threads simultâneos pelos quais a fila pode satisfazer as esperas. |
| ThreadListHead | Ponteiro para a primeira entrada na lista de threads. |
[in] Count
O número máximo de threads para os quais as esperas no objeto de fila podem ser atendidas simultaneamente. Se esse parâmetro não for fornecido, o número de processadores no computador será usado.
Valor de retorno
Nenhum
Observações
Normalmente, o chamador de KeInitializeQueue também cria um conjunto de threads dedicados para enfileirar e desempir suas entradas. Esse chamador pode especificar uma contagem explícita para impedir que muitos de seus threads dedicados esperem simultaneamente em seu objeto de fila.
KeInitializeQueue define o estado de sinal inicial do objeto de fila como Não Sinalizado.
Para obter mais informações sobre como usar filas internas gerenciadas pelo driver, consulte Driver-Managed filas IRP.
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Universal |
| cabeçalho | ntifs.h (inclua Ntifs.h) |
| biblioteca | NtosKrnl.lib |
| de DLL | NtosKrnl.exe |
| IRQL | <= DISPATCH_LEVEL |