Função FsRtlAllocateAePushLock (ntifs.h)
FsRtlAllocateAePushLock aloca e inicializa um bloqueio de push de expansão automática.
Sintaxe
PVOID FsRtlAllocateAePushLock(
[in] POOL_TYPE PoolType,
[in] ULONG Tag
);
Parâmetros
[in] PoolType
O tipo de memória do pool a ser alocada para o bloqueio de push de expansão automática. Consulte POOL_TYPE para obter uma descrição dos tipos de memória de pool disponíveis. Você pode modificar o valor PoolType bit a bit com o sinalizador POOL_RAISE_IF_ALLOCATION_FAILURE. Esse sinalizador fará com que uma exceção seja gerada se a solicitação de alocação não puder ser atendida.
[in] Tag
A marca de pool a ser usada para a memória alocada. Especifique a marca de pool como um literal de caractere diferente de zero de um a quatro caracteres delimitado por aspas simples (por exemplo, 'Tag1'). A cadeia de caracteres geralmente é especificada em ordem inversa (por exemplo, '1gaT'). Cada caractere ASCII na marca deve ser um valor no intervalo 0x20 (espaço) para 0x7E (til). Cada caminho de código de alocação deve usar uma marca de pool exclusiva para ajudar os depuradores e verificadores a identificar o caminho do código.
Retornar valor
FsRtlAllocateAePushLock retornará NULL se não houver memória suficiente no pool gratuito para atender à solicitação. Caso contrário, a rotina retornará um ponteiro para o bloqueio de push alocado e inicializado.
Comentários
FsRtlAllocateAePushLock é usado para alocar memória do pool para um bloqueio de push de expansão automática. Consulte FSRTL_ADVANCED_FCB_HEADER para obter mais informações sobre bloqueios de push de expansão automática.
O sistema associa a marca de pool à memória alocada. Ferramentas de programação, como WinDbg, podem exibir a marca de pool associada a cada buffer alocado. O Gflags, uma ferramenta incluída nas Ferramentas de Depuração para Windows, ativa um recurso do sistema que solicita alocação do pool especial para uma marca de pool específica. Poolmon, que está incluído no WDK, rastreia a memória por marca de pool.
O chamador de FsRtlAllocateAePushLock deve chamar posteriormente FsRtlFreeAePushLock para liberar o bloqueio de push de expansão automática alocado.
O sistema define automaticamente determinados objetos de evento padrão quando a quantidade de pool (paginada ou não paga) é alta ou baixa. Os drivers podem esperar que esses eventos ajustem o uso do pool. Para obter mais informações, consulte Objetos de Evento Padrão.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 20H2 |
Cabeçalho | ntifs.h |
IRQL | <= APC_LEVEL |