IDebugHostType2::GetIntrinsicType 方法 (dbgmodel.h)

GetIntrinsicType 方法返回有关类型内部函数类型的信息。 此方法返回两个值:

  • 内部类型指示总体类型(例如:整数、无符号、浮点),但不指示类型的大小(例如:8 位、16 位、32 位、64 位)

  • 载体类型指示内部类型如何将内部类型打包到 VARIANT 结构中。 这是VT_* 常量。

这两个值的组合提供了有关内部函数的完整信息集。

语法

HRESULT GetIntrinsicType(
  IntrinsicKind *intrinsicKind,
  VARTYPE       *carrierType
);

参数

intrinsicKind

此处将返回内部函数的类型。 这将指示内部函数的整体类型 - 是否为整数、无符号、浮点等...它不会指示内部函数的大小。 8、16、32 和 64 位整数将报告为有符号整数 -- 没有什么。

carrierType

VT_* 常量,该常量指示内部函数将如何打包到 VARIANT 结构中。 这与内部函数参数中返回的值相结合,提供了了解内部函数的性质所需的完整信息。

返回值

此方法返回指示成功或失败的 HRESULT。

言论

示例代码

ComPtr<IDebugHostType> spType; /* get a type (see FindTypeByName) for something 
                                  which is intrinsic (e.g.: an enum or ordinal) */

IntrinsicKind ik;
VARTYPE carrier;
if (SUCCEEDED(spType->GetIntrinsicType(&ik, &carrier)))
{
    // The type is defined by ik/carrier:
    //    e.g.: the C type "char" would be defined as IntrinsicChar / VT_I1.
    //    e.g.: the C type "wchar_t" would be defined as IntrinsicWChar / VT_UI2.
    //    e.g.: the C type "unsigned short" would be defined as IntrinsicUInt / VT_UI2.
    //    etc...
}

要求

要求 价值
标头 dbgmodel.h

另请参阅

IDebugHostType2 接口