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 |