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