IDebugHostType::GetIntrinsicType 方法 (dbgmodel.h)

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

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

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

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

语法

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

参数

intrinsicKind

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

carrierType

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

返回值

此方法返回指示成功或失败的 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...
}

要求

要求
Header dbgmodel.h

另请参阅

IDebugHostType 接口