IDebugSymbols3::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
如果 索引 DEBUG_ANY_ID,则指定目标模块基的内存地址空间中的位置。 否则,将忽略它。
[out, optional] Buffer
接收模块的名称。 如果 缓冲区NULL,则不会返回此信息。
[in] BufferSize
指定缓冲区 缓冲区的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。
[out, optional] NameSize
接收模块名称的字符大小。 此大小包括“\0”终止字符的空间。 如果 NameSizeNULL,则不会返回此信息。
返回值
此方法也可能返回错误值。 有关详细信息,请参阅 返回值。
返回代码 | 描述 |
---|---|
|
该方法成功。 |
|
该方法成功。 但是,缓冲区的大小小于模块名称的大小,因此它被截断以适应缓冲区。 |
言论
有关模块的详细信息,请参阅 模块。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |