Метод IDebugHostType2::GetIntrinsicType (dbgmodel.h)
Метод GetIntrinsicType возвращает сведения о типе встроенного типа. Из этого метода возвращаются два значения:
Встроенный тип указывает общий тип (например, целое число, без знака, с плавающей запятой), но не размер типа (например, 8 бит, 16 бит, 32 бит, 64 бит).
Тип носителя указывает, как встроенный тип упаковывается в структуру VARIANT. Это константа VT_*.
Сочетание этих двух значений предоставляет полный набор сведений о встроенной функции.
Синтаксис
HRESULT GetIntrinsicType(
IntrinsicKind *intrinsicKind,
VARTYPE *carrierType
);
Параметры
intrinsicKind
Здесь будет возвращен тип встроенной функции. Это будет указывать общий тип встроенной функции : целое число, без знака, плавающая запятая и т. д. Он не будет указывать размер встроенной функции. 8, 16, 32 и 64-разрядные целые числа будут представлены как целые числа со знаком.
carrierType
Здесь возвращается константа VT_*, указывающая, как встроенная функция будет упаковываться в структуру VARIANT. Это в сочетании со значением, возвращаемым в аргументе intrinsicKind, предоставляет полную информацию, необходимую для понимания природы встроенной функции.
Возвращаемое значение
Этот метод возвращает HRESULT, который указывает на успех или сбой.
Комментарии
Образец кода
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...
}
Требования
Требование | Значение |
---|---|
Заголовок | dbgmodel.h |