Compartir a través de


Función ExAllocateFromLookasideListEx (wdm.h)

La rutina ExAllocateFromLookasideListEx quita la primera entrada de la lista de aspecto especificada, o bien, si la lista está vacía, asigna dinámicamente el almacenamiento para una nueva entrada.

Sintaxis

PVOID ExAllocateFromLookasideListEx(
  [in, out] PLOOKASIDE_LIST_EX Lookaside
);

Parámetros

[in, out] Lookaside

Puntero a una estructura de LOOKASIDE_LIST_EX que describe una lista de aspecto. Esta estructura se inicializó anteriormente mediante la rutina ExInitializeLookasideListEx .

Valor devuelto

ExAllocateFromLookasideListEx devuelve un puntero a una entrada lookaside-list, si una entrada está disponible en la lista o se puede asignar dinámicamente. De lo contrario, esta rutina devuelve NULL.

Observaciones

Precaución

A partir de Windows 11, versión 22H2, esta función cambió de insertada a exportada. Como resultado, si compila el controlador destinado a la versión más reciente de Windows, no se cargará en versiones anteriores del sistema operativo. Para cambiar la versión del sistema operativo de destino en Visual Studio, seleccione Propiedades de configuración-Configuración del controlador-General>>.

Esta rutina quita la primera entrada, si hay una entrada disponible, de la lista de búsqueda especificada y devuelve un puntero a esta entrada. Si la lista está vacía, la rutina asigna almacenamiento para una nueva entrada y devuelve un puntero a esta entrada. Si se produce un error en esta asignación, la rutina devuelve NULL.

Si la lista de búsqueda está vacía, ExAllocateFromLookasideListEx llama a la rutina LookasideListAllocateEx para asignar almacenamiento para una nueva entrada, si el controlador ha proporcionado dicha rutina. De lo contrario, se usa una rutina de asignación predeterminada para asignar la entrada.

Una vez que el autor de la llamada termine de usar la entrada, debe liberar la entrada llamando a la rutina ExFreeToLookasideListEx .

En la implementación actual, una lista de aspecto funciona como una pila de último inicio y salida (LIFO). Por lo tanto, la última entrada que se va a liberar (e insertar en la pila) es la siguiente entrada que se va a asignar (extraer) de la lista.

Para obtener más información sobre las listas de búsqueda, consulte Uso de lookaside Listas.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte también

ExFreeToLookasideListEx

ExInitializeLookasideListEx

LOOKASIDE_LIST_EX

LookasideListAllocateEx