Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод GetIntrinsicValueAs ведет себя так же, как метод GetIntrinsicValue, за исключением того, что он преобразует значение в указанный тип варианта. Если преобразование невозможно выполнить, метод возвращает ошибку.
Синтаксис
HRESULT GetIntrinsicValueAs(
VARTYPE vt,
VARIANT *intrinsicData
);
Параметры
vt
Тип преобразуемого значения передается здесь как VARTYPE. Юридические ценности VT_I1 через VT_I8, VT_U1 через VT_U8, VT_R4 через VT_R8 и VT_BOOL. Преобразование строк невозможно выполнить с помощью этого метода.
intrinsicData
Значение, указанное внутри IModelObject, преобразованное в тип, описанный аргументом vt, возвращается здесь. Указатель должен указывать на структуру VARIANT, которая не содержит свободное значение. Вызывающий объект несет ответственность за очистку этого VARIANT с VariantClear после завершения работы с ним.
Возвращаемое значение
Этот метод возвращает HRESULT, указывающий на успех или сбой.
Замечания
Пример кода
ComPtr<IModelObject> spObject; /* get from somewhere */
// Unbox as VT_I4. This will fail if the value does not FIT into an int (I4):
VARIANT vtVal;
HRESULT hr = spObject->GetIntrinsicValueAs(VT_I4, &vtVal);
if (SUCCEEDED(hr))
{
int iVal = vtVal.lVal; // The object has successfully packed into an I4 and been unboxed as an int.
}
// Since we know this is a VT_I4, VariantClear is superfluous.
Требования
Требование | Ценность |
---|---|
заголовка | dbgmodel.h |