Função PsSetLoadImageNotifyRoutineEx (ntddk.h)
A rotina PsSetLoadImageNotifyRoutineEx registra um retorno de chamada fornecido pelo driver que é notificado posteriormente 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. Estes sã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.
Retornar valor
Código de retorno | Descrição |
---|---|
|
O retorno de chamada foi registrado com êxito. |
|
O sinalizador inválido foi fornecido em Sinalizadores. |
|
A rotina falhou ao alocar um bloco de retorno de chamada devido à falta de recursos. |
Comentários
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 quaisquer retornos de chamada registrados antes de descarregar. Você pode remover o retorno de chamada chamando a rotina PsRemoveLoadImageNotifyRoutine .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1709 |
Servidor mínimo com suporte | Windows Server 2016 |
Plataforma de Destino | Windows |
Cabeçalho | ntddk.h |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe (modo kernel) |
IRQL | PASSIVE_LEVEL |