IDebugHostType2 ::GetIntrinsicType, méthode (dbgmodel.h)
La méthode GetIntrinsicType retourne des informations sur le type 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 d’opérateur indique comment le type intrinsèque est packé 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, non signé, à virgule flottante, etc. Elle n’indique pas la taille de l’intrinsèque. Les entiers 8, 16, 32 et 64 bits sont signalés sous forme d’entiers signés.
carrierType
Constante VT_* indiquant la façon dont l’intrinsèque va être emballée dans une structure VARIANT est retournée ici. Cette opération, combinée à la valeur retournée dans l’argument intrinsèqueKind, fournit les informations complètes nécessaires pour comprendre la nature de l’intrinsèque.
Valeur de retour
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...
}
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dbgmodel.h |