Compartir a través de


Método IDebugHostType::GetIntrinsicType (dbgmodel.h)

El método GetIntrinsicType devuelve información sobre qué tipo de intrínseco es el tipo. Se devuelven dos valores fuera de este método:

  • El tipo intrínseco indica el tipo general (por ejemplo: entero, sin signo, punto flotante), pero no el tamaño del tipo (por ejemplo: 8 bits, 16 bits, 32 bits, 64 bits)

  • El tipo portador indica cómo el tipo intrínseco se empaqueta en una estructura VARIANT. Se trata de una constante VT_*.

La combinación de los dos valores proporciona el conjunto completo de información sobre el intrínseco.

Sintaxis

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

Parámetros

intrinsicKind

El tipo de intrínseco se devolverá aquí. Esto indicará el tipo general del intrínseco: si es un entero, sin signo, punto flotante, etc. No indicará el tamaño del intrínseco. Los enteros de 8, 16, 32 y 64 bits se notificarán como enteros con signo, nada más.

carrierType

Constante VT_* que indica cómo se empaquetará el intrínseco en una estructura VARIANT aquí. Esto, combinado con el valor devuelto en el argumento intrinsicKind, proporciona la información completa necesaria para comprender la naturaleza del intrínseco.

Valor devuelto

Este método devuelve HRESULT que indica éxito o error.

Comentarios

Código de ejemplo

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...
}

Requisitos

Requisito Valor
Header dbgmodel.h

Consulte también

Interfaz IDebugHostType