IMAGEHLP_MODULEW64 结构 (dbghelp.h)

包含模块信息。

语法

typedef struct _IMAGEHLP_MODULEW64 {
  DWORD    SizeOfStruct;
  DWORD64  BaseOfImage;
  DWORD    ImageSize;
  DWORD    TimeDateStamp;
  DWORD    CheckSum;
  DWORD    NumSyms;
  SYM_TYPE SymType;
  WCHAR    ModuleName[32];
  WCHAR    ImageName[256];
  WCHAR    LoadedImageName[256];
  WCHAR    LoadedPdbName[256];
  DWORD    CVSig;
  WCHAR    *CVData[MAX_PATH  3];
  DWORD    PdbSig;
  GUID     PdbSig70;
  DWORD    PdbAge;
  BOOL     PdbUnmatched;
  BOOL     DbgUnmatched;
  BOOL     LineNumbers;
  BOOL     GlobalSymbols;
  BOOL     TypeInfo;
  BOOL     SourceIndexed;
  BOOL     Publics;
  DWORD    MachineType;
  DWORD    Reserved;
} IMAGEHLP_MODULEW64, *PIMAGEHLP_MODULEW64;

成员

SizeOfStruct

结构大小(以字节为单位)。 调用方必须将此成员设置为 sizeof(IMAGEHLP_MODULE64)

BaseOfImage

加载映像的基虚拟地址。

ImageSize

图像的大小(以字节为单位)。

TimeDateStamp

日期和时间戳值。 根据系统时钟,该值以自 1970 年 1 月 1 日世界协调时间 (00:00:00) 午夜以来经过的秒数表示。 可以使用 C 运行时 (CRT) 函数 ctime 打印时间戳。

CheckSum

映像的校验和。 此值可以为零。

NumSyms

符号表中的符号数。 将 SymPdb 指定为 SymType 参数的值时,此参数的值没有意义。

SymType

加载的符号的类型。 此成员可以是以下值之一。

含义
SymCoff
COFF 符号。
SymCv
CodeView 符号。
SymDeferred
符号加载延迟。
SymDia
DIA 符号。
SymExport
从 DLL 导出表生成的符号。
SymNone
不加载符号。
SymPdb
PDB 符号。
SymSym
.sym 文件。
SymVirtual
SymLoadModuleEx 使用 SLMFLAG_VIRTUAL 创建的虚拟模块。

ModuleName[32]

模块名。

ImageName[256]

图像名称。 该名称可能包含也可能不包含完整路径。

LoadedImageName[256]

从中加载符号的文件的完整路径和文件名。

LoadedPdbName[256]

.pdb 文件的完整路径和文件名。

CVSig

调试目录中 CV 记录的签名。

CVData[MAX_PATH * 3]

CV 记录的内容。

PdbSig

PDB 签名。

PdbSig70

(Visual C/C++ 7.0 及更高版本的 PDB 签名)

PdbAge

PDB 的 DBI 时代。

PdbUnmatched

一个 值,该值指示加载的 PDB 是否不匹配。

DbgUnmatched

一个 值,该值指示加载的 DBG 是否不匹配。

LineNumbers

一个 值,该值指示行号信息是否可用。

GlobalSymbols

一个值,该值指示符号信息是否可用。

TypeInfo

一个 值,该值指示类型信息是否可用。

SourceIndexed

一个 值,该值指示 .pdb 是否支持源服务器。

DbgHelp 6.1 及更早版本: 不支持此成员。

Publics

一个 值,该值指示模块是否包含公共符号。

DbgHelp 6.1 及更早版本: 不支持此成员。

MachineType

TBD

Reserved

TBD

注解

此结构取代了 IMAGEHLP_MODULE 结构。 有关详细信息,请参阅 更新的平台支持IMAGEHLP_MODULE 在 DbgHelp.h 中定义如下。

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define IMAGEHLP_MODULE IMAGEHLP_MODULE64
#define PIMAGEHLP_MODULE PIMAGEHLP_MODULE64
#define IMAGEHLP_MODULEW IMAGEHLP_MODULEW64
#define PIMAGEHLP_MODULEW PIMAGEHLP_MODULEW64
#else
typedef struct _IMAGEHLP_MODULE {
    DWORD    SizeOfStruct;
    DWORD    BaseOfImage; 
    DWORD    ImageSize; 
    DWORD    TimeDateStamp; 
    DWORD    CheckSum; 
    DWORD    NumSyms; 
    SYM_TYPE SymType; 
    CHAR     ModuleName[32];  
    CHAR     ImageName[256]; 
    CHAR     LoadedImageName[256]; 
} IMAGEHLP_MODULE, *PIMAGEHLP_MODULE;

typedef struct _IMAGEHLP_MODULEW {
    DWORD    SizeOfStruct;  
    DWORD    BaseOfImage; 
    DWORD    ImageSize;  
    DWORD    TimeDateStamp; 
    DWORD    CheckSum; 
    DWORD    NumSyms; 
    SYM_TYPE SymType; 
    WCHAR    ModuleName[32]; 
    WCHAR    ImageName[256]; 
    WCHAR    LoadedImageName[256]; 
} IMAGEHLP_MODULEW, *PIMAGEHLP_MODULEW;
#endif

要求

要求
Header dbghelp.h
可再发行组件 DbgHelp.dll 5.1 或更高版本

另请参阅

SymGetModuleInfo64