Compartir a través de


Función ExAllocateFromPagedLookasideList (wdm.h)

La rutina ExAllocateFromPagedLookasideList devuelve un puntero a una entrada paginada de la lista de lookaside dada o devuelve un puntero a una entrada paginada recién asignada.

Sintaxis

PVOID ExAllocateFromPagedLookasideList(
  [in, out] PPAGED_LOOKASIDE_LIST Lookaside
);

Parámetros

[in, out] Lookaside

Puntero a la estructura PAGED_LOOKASIDE_LIST de la lista de aspecto, que el autor de la llamada ya inicializó con ExInitializePagedLookasideList.

Valor devuelto

ExAllocateFromPagedLookasideList devuelve un puntero a una entrada si se puede asignar una. De lo contrario, 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>>.

Si la lista de aspecto dada no está vacía, ExAllocateFromPagedLookasideList quita la primera entrada de la lista y devuelve un puntero a esta entrada. De lo contrario, ExAllocateFromPagedLookasideList llama a la rutina Allocate especificada en la inicialización de lista o ExAllocatePoolWithTag para devolver un puntero de entrada.

A continuación, el autor de la llamada puede configurar la entrada devuelta con cualquier dato determinado por el autor de la llamada. El autor de la llamada debe liberar cada entrada con ExFreeToPagedLookasideList cuando ya no esté en uso.

Dado que las entradas de una lista de apariencia paginada se asignan desde la memoria paginable, no se debe tener acceso a ellas en un IRQL >= DISPATCH_LEVEL. Puede usar ExAllocateFromNPagedLookasideList para crear una lista de lookaside con entradas no paginables.

En Windows 2000, los controladores deben usar el modificador -D_WIN2K_COMPAT_SLIST_USAGE para vincular correctamente el código que usa ExAllocateFromPagedLookasideList.

Para obtener más información, consulte Uso de lookaside Listas.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

ExAllocateFromNPagedLookasideList

ExFreeToPagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST