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
STATUS_SUCCESS
O retorno de chamada foi registrado com êxito.
STATUS_INVALID_PARAMETER_2
O sinalizador inválido foi fornecido em Sinalizadores.
STATUS_INSUFFICIENT_RESOURCES
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