Función KeInitializeQueue (ntifs.h)
La rutina KeInitializeQueue inicializa un objeto de cola en el que los subprocesos pueden esperar entradas.
Sintaxis
void KeInitializeQueue(
[out] PRKQUEUE Queue,
[in] ULONG Count
);
Parámetros
[out] Queue
Puntero a una estructura KQUEUE para la que el autor de la llamada debe proporcionar almacenamiento residente en un grupo no paginado. Esta estructura se define de la siguiente manera:
typedef struct _KQUEUE {
DISPATCHER_HEADER Header;
LIST_ENTRY EntryListHead;
ULONG CurrentCount;
ULONG MaximumCount;
LIST_ENTRY ThreadListHead;
} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
Miembro | Significado |
---|---|
Encabezado | Encabezado de cola. |
EntryListHead | Puntero a la primera entrada de la cola. |
CurrentCount | Número actual de subprocesos que esperan en la cola. |
MaximumCount | Número máximo de subprocesos simultáneos que la cola puede satisfacer las esperas. |
ThreadListHead | Puntero a la primera entrada de la lista de subprocesos. |
[in] Count
Número máximo de subprocesos para los que se pueden satisfacer simultáneamente las esperas en el objeto de cola. Si no se proporciona este parámetro, se usa el número de procesadores de la máquina.
Valor devuelto
None
Observaciones
Normalmente, el autor de la llamada de KeInitializeQueue también crea un conjunto de subprocesos dedicados para poner en cola y quitar sus entradas. Este tipo de llamador puede especificar un recuento explícito para evitar que demasiados de sus subprocesos dedicados esperen simultáneamente en su objeto de cola.
KeInitializeQueue establece el estado de señal inicial del objeto de cola en Not Signaled.
Para obtener más información sobre el uso de colas internas administradas por controladores, consulte Colas irP administradas por controladores.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |