IDebugSymbols3::GetTypeId 方法 (dbgeng.h)

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

语法

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

参数

[in] Module

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

[in] Name

指定需要其类型 ID 的类型的名称。 如果 Name 是模块限定的名称 (例如 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;

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

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

要求

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

另请参阅

GetOffsetTypeId

GetSymbolTypeId

IDebugSymbols

IDebugSymbols2

IDebugSymbols3