SymGetSymFromName

【勇芳软件工作室】汉化HomePreviousNext

SymGetSymFromName函数找到所请求名称的符号。

BOOL SymGetSymFromName(

IN HANDLE【hProcess】, 
IN LPSTR【名称】, 
OUT PIMAGEHLP_SYMBOL【符号】 
); 

参数

【hProcess】

最初传递给SymInitialize的进程句柄。

【名称】

请求符号的符号名称。

【符号】

指向IMAGEHLP_SYMBOL结构的指针。

回报值

如果函数成功,返回值为TRUE。

如果函数失败,则返回值为FALSE。要检索扩展错误信息,请调用GetLastError.

备注

SymGetSymFromName功能用于查找所请求名称的符号。该名称可以包含将符号搜索隔离到单个模块的符号表的模块前缀。

模块前缀采用【“模块】【"】的形式。“!”字符是模块名称和符号名称之间的分隔符。如果没有模块前缀,则以线性方式对每个模块的符号表执行搜索,从加载的第一个模块开始。

使用模块前缀是最好的两个原因。首先,符号搜索发生得更快。第二,当延迟符号加载打开时,搜索将为搜索到的每个模块加载符号。当找到符号时,符号信息被复制到调用者提供的【符号】缓冲区中。呼叫者必须正确地分配【符号】缓冲区,并在调用SymGetSymFromName函数之前在IMAGEHLP_SYMBOL结构中填写必需的参数。