Função SymLoadModule (dbghelp.h)
Carrega a tabela de símbolos.
Essa função foi substituída pela função SymLoadModuleEx .
Sintaxe
DWORD IMAGEAPI SymLoadModule(
[in] HANDLE hProcess,
[in, optional] HANDLE hFile,
[in, optional] PCSTR ImageName,
[in, optional] PCSTR ModuleName,
[in] DWORD BaseOfDll,
[in] DWORD SizeOfDll
);
Parâmetros
[in] hProcess
Um identificador para o processo. Esse identificador deve ter sido passado anteriormente para a função SymInitialize .
[in, optional] hFile
Um identificador para o arquivo para a imagem executável. Esse argumento é usado principalmente por depuradores, em que o depurador passa o identificador de arquivo obtido de um evento de depuração. Um valor nulo indica que hFile não é usado.
[in, optional] ImageName
O nome da imagem executável. Esse nome pode conter um caminho parcial, um caminho completo ou nenhum caminho. Se o arquivo não puder ser localizado pelo nome fornecido, o caminho de pesquisa de símbolos será usado.
[in, optional] ModuleName
Um nome de atalho para o módulo. Se o valor do ponteiro for NULL, a biblioteca criará um nome usando o nome base do arquivo de símbolo.
[in] BaseOfDll
O endereço de carregamento do módulo. Se o valor for zero, a biblioteca obterá o endereço de carga do arquivo de símbolo. O endereço de carga contido no arquivo de símbolo não é necessariamente o endereço de carga real. Os depuradores e outros aplicativos que têm um endereço de carga real devem usar o endereço de carga real ao chamar essa função.
Se a imagem for um arquivo .pdb, esse parâmetro não poderá ser zero.
[in] SizeOfDll
O tamanho do módulo, em bytes. Se o valor for zero, a biblioteca obterá o tamanho do arquivo de símbolo. O tamanho contido no arquivo de símbolo não é necessariamente o tamanho real. Depuradores e outros aplicativos com um tamanho real devem usar o tamanho real ao chamar essa função.
Se a imagem for um arquivo .pdb, esse parâmetro não poderá ser zero.
Valor retornado
Se a função for bem-sucedida, o valor retornado será o endereço base do módulo carregado.
Se a função falhar, o valor retornado será zero. Para recuperar informações de erro estendidas, chame GetLastError.
Se o módulo já estiver carregado, o valor retornado será zero e GetLastError retornará ERROR_SUCCESS.
Comentários
O manipulador de símbolos cria uma entrada para o módulo e, se a opção de carregamento de símbolo adiada estiver desativada, será feita uma tentativa de carregar os símbolos. Se o carregamento de símbolo adiado estiver habilitado, o módulo será marcado como adiado e os símbolos não serão carregados até que uma referência seja feita a um símbolo no módulo.
Para descarregar a tabela de símbolos, use a função SymUnloadModule64 .
Todas as funções DbgHelp, como esta, são threaded único. Portanto, chamadas de mais de um thread para essa função provavelmente resultarão em comportamento inesperado ou corrupção de memória. Para evitar isso, você deve sincronizar todas as chamadas simultâneas de mais de um thread para essa função.
Essa função substitui a função SymLoadModule . Para obter mais informações, consulte Suporte de plataforma atualizado. SymLoadModule é definido da seguinte maneira em DbgHelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymLoadModule SymLoadModule64
#else
DWORD
IMAGEAPI
SymLoadModule(
__in HANDLE hProcess,
__in_opt HANDLE hFile,
__in_opt PCSTR ImageName,
__in_opt PCSTR ModuleName,
__in DWORD BaseOfDll,
__in DWORD SizeOfDll
);
#endif
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | dbghelp.h |
Biblioteca | Dbghelp.lib |
DLL | Dbghelp.dll |
Redistribuível | DbgHelp.dll 5.1 ou posterior |