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 |