Compartilhar via


Função RtlGetUnloadEventTraceEx

Recupera o tamanho e o local da lista de módulos descarregados dinamicamente para o processo atual.

Sintaxe

VOID WINAPI RtlGetUnloadEventTraceEx(
  _Out_ PULONG *ElementSize,
  _Out_ PULONG *ElementCount,
  _Out_ PVOID  *EventTrace
);

Parâmetros

ElementSize [out]

Um ponteiro para uma variável que contém o tamanho de um elemento na lista.

ElementCount [out]

Um ponteiro para uma variável que contém o número de elementos na lista.

EventTrace [out]

Um ponteiro para uma matriz de estruturas de RTL_UNLOAD_EVENT_TRACE . Para obter mais informações, consulte Comentários.

Retornar valor

Essa função não retorna um valor.

Comentários

O carregador armazena informações de evento descarregadas em locais que podem ser lidos entre processos aproveitando o fato de que Ntdll.dll é carregado no mesmo endereço base em todos os processos. Quando um depurador precisa consultar informações de módulo descarregadas, ele chama essa função para determinar o endereço no qual residem as variáveis e, em seguida, consulta a memória virtual no processo de destino nesses endereços para ler os valores reais.

Cada elemento na lista é definido da seguinte maneira.

typedef struct _RTL_UNLOAD_EVENT_TRACE {
    PVOID BaseAddress;   // Base address of dll
    SIZE_T SizeOfImage;  // Size of image
    ULONG Sequence;      // Sequence number for this event
    ULONG TimeDateStamp; // Time and date of image
    ULONG CheckSum;      // Image checksum
    WCHAR ImageName[32]; // Image name
} RTL_UNLOAD_EVENT_TRACE, *PRTL_UNLOAD_EVENT_TRACE;

Essa função não tem nenhum arquivo de cabeçalho associado. A biblioteca de importação associada, Ntdll.lib, está disponível no WDK (Windows Driver Kit). Você também pode chamar essa função usando as funções LoadLibrary e GetProcAddress .

Requisitos

Requisito Valor
DLL
Ntdll.dll