Função ExAllocateFromPagedLookasideList (wdm.h)

A rotina ExAllocateFromPagedLookasideList retorna um ponteiro para uma entrada paginada da lista lookaside fornecida ou retorna um ponteiro para uma entrada paginada recém-alocada.

Sintaxe

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

Parâmetros

[in, out] Lookaside

Um ponteiro para a estrutura PAGED_LOOKASIDE_LIST para a lista lookaside, que o chamador já inicializou com ExInitializePagedLookasideList.

Retornar valor

ExAllocateFromPagedLookasideList retornará um ponteiro para uma entrada se um puder ser alocado. Caso contrário, ele retornará NULL.

Comentários

Cuidado

A partir de Windows 11, versão 22H2, essa função mudou de embutida para exportada. Como resultado, se você criar seu driver visando a versão mais recente do Windows, ele falhará ao carregar em versões mais antigas do sistema operacional. Para alterar a versão do sistema operacional de destino no Visual Studio, selecione Propriedades de Configuração -Configurações do> Driver-Geral>.

Se a lista lookaside fornecida não estiver vazia, ExAllocateFromPagedLookasideList removerá a primeira entrada da lista e retornará um ponteiro para essa entrada. Caso contrário, ExAllocateFromPagedLookasideList chamará a rotina Allocate especificada na inicialização da lista ou ExAllocatePoolWithTag para retornar um ponteiro de entrada.

Em seguida, o chamador pode configurar a entrada retornada com qualquer dado determinado pelo chamador. O chamador deve liberar cada entrada com ExFreeToPagedLookasideList quando ela não estiver mais em uso.

Como as entradas em uma lista lookaside paginada são alocadas da memória paginável, elas não devem ser acessadas em um IRQL >= DISPATCH_LEVEL. Você pode usar ExAllocateFromNPagedLookasideList para criar uma lista lookaside com entradas não pagináveis.

No Windows 2000, os drivers devem usar a opção -D_WIN2K_COMPAT_SLIST_USAGE para vincular com êxito o código que usa ExAllocateFromPagedLookasideList.

Para obter mais informações, consulte Using Lookaside Listas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

ExAllocateFromNPagedLookasideList

ExFreeToPagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST