Función ExAllocateFromLookasideListEx (wdm.h)
La rutina ExAllocateFromLookasideListEx quita la primera entrada de la lista de búsqueda especificada o, 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 de lista de lookaside, si una entrada está disponible en la lista o se puede asignar dinámicamente. De lo contrario, esta rutina devuelve null.
Observaciones
Cautela
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 lookaside 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 LookasideListAllocateEx rutina 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 lookaside funciona como una pila de primeros pasos (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, vea Using Lookaside Lists.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Vista y versiones posteriores de Windows. |
de la plataforma de destino de | Escritorio |
encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | <= DISPATCH_LEVEL |