Partager via


Méthode IDebugHostType2 ::GetIntrinsicType (dbgmodel.h)

La méthode GetIntrinsicType retourne des informations sur le type d’intrinsèque du type. Deux valeurs sont retournées à partir de cette méthode :

  • Le type intrinsèque indique le type global (par exemple, entier, non signé, virgule flottante) mais pas la taille du type (par exemple : 8 bits, 16 bits, 32 bits, 64 bits)

  • Le type porteur indique comment le type intrinsèque est incorporé dans une structure VARIANT. Il s’agit d’une constante VT_*.

La combinaison des deux valeurs fournit l’ensemble complet d’informations sur l’intrinsèque.

Syntaxe

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

Paramètres

intrinsicKind

Le type d’intrinsèque sera retourné ici. Cela indique le type global de l’intrinsèque - s’il s’agit d’un entier, d’unsigned, d’un virgule flottante, etc... Il n’indique pas la taille de l’intrinsèque. Les entiers 8, 16, 32 et 64 bits seront signalés sous forme d’entiers signés, rien de plus.

carrierType

Une constante VT_* indiquant comment l’intrinsèque sera empaquetage dans une structure VARIANT est retournée ici. Cette valeur, combinée à la valeur retournée dans l’argument intrinsicKind, fournit les informations complètes nécessaires pour comprendre la nature de l’intrinsèque.

Valeur retournée

Cette méthode retourne HRESULT qui indique la réussite ou l’échec.

Remarques

Exemple de Code

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

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Interface IDebugHostType2