IDebugSymbols3::GetTypeId 方法 (dbgeng.h)

GetTypeId 方法查找指定的类型并返回其类型 ID。

语法

HRESULT GetTypeId(
  [in]  ULONG64 Module,
  [in]  PCSTR   Name,
  [out] PULONG  TypeId
);

参数

[in] Module

指定类型所属模块的基址。 有关详细信息,请参阅 模块。 如果 名称 包含模块名称,则忽略 模块

[in] Name

指定需要其类型 ID 的类型的名称。 如果 名称 是模块限定的名称(例如 mymodule!main),则忽略 Module 参数。

[out] TypeId

接收符号的类型 ID。

返回值

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

返回代码 描述
S_OK
该方法成功。

言论

如果指定的符号是一种类型,这些方法将返回该类型的类型 ID;否则,返回符号类型的类型 ID。

使用 typedef 定义类型的变量具有标识原始类型的类型 ID,而不是 typedef创建的类型。 在以下示例中,MyInstance 的类型 ID 对应于 myStruct 的名称(通过将类型 ID 传递给 GetTypeName可以看到此通信):

struct MyStruct { int a; };
typedef struct MyStruct MyType;
MyType MyInstance;

此外,为 myStructMy Type 调用这些方法会分别生成对应于 MyStructMyType的类型 ID。

有关符号和符号名称的详细信息,请参阅 符号

要求

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

另请参阅

GetOffsetTypeId

GetSymbolTypeId

IDebugSymbols

IDebugSymbols2

IDebugSymbols3