Compartilhar via


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 de página 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.

Valor de retorno

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

Observações

Cuidado

A partir do Windows 11, versão 22H2, essa função foi alterada de embutida para exportada. Como resultado, se você criar o 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 de 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 alocar 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 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 >DE 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 Usando listas lookaside.

Requisitos

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

Consulte também

ExAllocateFromNPagedLookasideList

ExFreeToPagedLookasideList

ExInitializePagedLookasideList

PAGED_LOOKASIDE_LIST