Função PsSetLoadImageNotifyRoutineEx (ntddk.h)
A rotina PsSetLoadImageNotifyRoutineEx registra um retorno de chamada fornecido pelo driver que é posteriormente notificado sempre que uma imagem (por exemplo, uma DLL ou EXE) é carregada (ou mapeada na memória).
Sintaxe
NTSTATUS PsSetLoadImageNotifyRoutineEx(
[in] PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine,
[in] ULONG_PTR Flags
);
Parâmetros
[in] NotifyRoutine
Um ponteiro para o chamador implementado PLOAD_IMAGE_NOTIFY_ROUTINE rotina de retorno de chamada para notificações de imagem de carga.
[in] Flags
Fornece uma máscara de bits de sinalizadores que controlam a função de retorno de chamada. Aqui estão os valores possíveis:
- PS_IMAGE_NOTIFY_CONFLICTING_ARCHITECTURE indica que a rotina de retorno de chamada deve ser invocada para todas as imagens potencialmente executáveis, incluindo imagens que têm uma arquitetura diferente da arquitetura nativa do sistema operacional.
Valor de retorno
Código de retorno | Descrição |
---|---|
|
O retorno de chamada foi registrado com êxito. |
|
O sinalizador inválido foi fornecido no sinalizadores. |
|
A rotina falhou ao alocar um bloco de retorno de chamada devido à falta de recursos. |
Observações
Os drivers de criação de perfil de sistema de nível mais alto podem chamar PsSetLoadImageNotifyRoutineEx para configurar suas rotinas de notificação de imagem de carga (consulte PLOAD_IMAGE_NOTIFY_ROUTINE).
O número máximo de drivers que podem ser registrados simultaneamente para receber notificações de imagem de carga é 64. Se o número máximo de rotinas de notificação de imagem de carga já estiver registrado quando um driver chamar PsSetLoadImageNotifyRoutineEx para tentar registrar uma rotina de notificação adicional, PsSetLoadImageNotifyRoutineEx falhará e retornará STATUS_INSUFFICIENT_RESOURCES.
Um driver deve remover os retornos de chamada registrados antes de descarregar. Você pode remover o retorno de chamada chamando a rotina de PsRemoveLoadImageNotifyRoutine.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10, versão 1709 |
servidor com suporte mínimo | Windows Server 2016 |
da Plataforma de Destino | Windows |
cabeçalho | ntddk.h |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe (modo kernel) |
IRQL | PASSIVE_LEVEL |