IDebugSymbols::GetModuleNames 方法 (dbgeng.h)

GetModuleNames 方法返回指定模块的名称。

语法

HRESULT GetModuleNames(
  [in]            ULONG   Index,
  [in]            ULONG64 Base,
  [out, optional] PSTR    ImageNameBuffer,
  [in]            ULONG   ImageNameBufferSize,
  [out, optional] PULONG  ImageNameSize,
  [out, optional] PSTR    ModuleNameBuffer,
  [in]            ULONG   ModuleNameBufferSize,
  [out, optional] PULONG  ModuleNameSize,
  [out, optional] PSTR    LoadedImageNameBuffer,
  [in]            ULONG   LoadedImageNameBufferSize,
  [out, optional] PULONG  LoadedImageNameSize
);

参数

[in] Index

指定请求其名称的模块的索引。 如果它设置为 DEBUG_ANY_ID,则模块由 Base 指定。

[in] Base

指定请求其名称的模块的基址。 仅当 Index 设置为 DEBUG_ANY_ID 时才使用此参数。

[out, optional] ImageNameBuffer

接收模块的图像名称。 如果 ImageNameBufferNULL,则不会返回此信息。

[in] ImageNameBufferSize

指定缓冲区 ImageNameBuffer 的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。

[out, optional] ImageNameSize

接收映像名称的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。 如果 ImageNameSizeNULL,则不会返回此信息。

[out, optional] ModuleNameBuffer

接收模块的模块名称。 如果 ModuleNameBufferNULL,则不会返回此信息。

[in] ModuleNameBufferSize

指定缓冲区 ModuleNameBuffer 的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。

[out, optional] ModuleNameSize

接收模块名称的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。 如果 ModuleNameSizeNULL,则不会返回此信息。

[out, optional] LoadedImageNameBuffer

接收模块的加载映像名称。 如果 LoadedImageNameBufferNULL,则不会返回此信息。

[in] LoadedImageNameBufferSize

指定缓冲区 LoadedImageNameBuffer 的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。

[out, optional] LoadedImageNameSize

接收所加载映像名称的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。 如果 LoadedImageNameSizeNULL,则不会返回此信息。

返回值

此方法也可能返回其他错误值。 有关更多详细信息 ,请参阅返回值

返回代码 说明
S_OK
方法成功。
S_FALSE
方法成功。 但是,对于相应的名称,至少有一个 ImageNameBufferModuleNameBufferLoadedImageNameBuffer 太小,因此被截断。
E_NOINTERFACE
找不到指定的模块。

注解

有关模块的详细信息,请参阅 模块

要求

要求
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)

另请参阅

GetModuleNameString

IDebugSymbols

IDebugSymbols2

IDebugSymbols3