IDebugSymbols2::GetModuleNameString 方法 (dbgeng.h)
GetModuleNameString 方法返回指定模块的名称。
语法
HRESULT GetModuleNameString(
[in] ULONG Which,
[in] ULONG Index,
[in] ULONG64 Base,
[out, optional] PSTR Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG NameSize
);
参数
[in] Which
指定要返回的模块名称中,可能的值为:
值 | 说明 |
---|---|
DEBUG_MODNAME_IMAGE | 图像名称。 这是可执行文件的名称,包括 扩展名。 通常,完整路径包含在用户模式中,但不包含在内核模式下。 |
DEBUG_MODNAME_MODULE | 模块名。 这通常只是没有扩展名的文件名。 在少数情况下,模块名称与文件名明显不同。 |
DEBUG_MODNAME_LOADED_IMAGE | 加载的映像名称。 除非存在 Microsoft CodeView 符号,否则此符号与图像名称相同。 |
DEBUG_MODNAME_SYMBOL_FILE | 符号文件名。 符号文件的路径和名称。 如果尚未加载任何符号,则为可执行文件的名称。 |
DEBUG_MODNAME_MAPPED_IMAGE | 映射的图像名称。 在大多数情况下,此值为 NULL。 例如,如果调试器 (映射图像文件,则在小型转储调试) 期间,这是映射图像的名称。 |
[in] Index
指定模块的索引。 如果设置为 DEBUG_ANY_ID,则使用 Base 参数来指定模块的位置。
[in] Base
如果 Index 为DEBUG_ANY_ID,则指定模块基数的目标内存地址空间中的位置。 否则会忽略它。
[out, optional] Buffer
接收模块的名称。 如果 Buffer 为 NULL,则不会返回此信息。
[in] BufferSize
指定缓冲区 缓冲区的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。
[out, optional] NameSize
接收模块名称的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。 如果 NameSize 为 NULL,则不会返回此信息。
返回值
此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
方法成功。 但是,缓冲区的大小小于模块名称的大小,因此它被截断以适应缓冲区。 |
注解
有关模块的详细信息,请参阅 模块。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |