IModelObject::GetIntrinsicValueAs 메서드(dbgmodel.h)

GetIntrinsicValueAs 메서드는 값을 지정된 변형 형식으로 변환한다는 점을 제외하고 GetIntrinsicValue 메서드만큼 동작합니다. 변환을 수행할 수 없는 경우 메서드는 오류를 반환합니다.

구문

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

매개 변수

vt

변환할 값의 형식은 여기에 VARTYPE로 전달됩니다. 법적 가치는 VT_I8, VT_U8 VT_U1, VT_R8 VT_R4, VT_BOOL 통해 VT_I1. 이 메서드를 통해 문자열 변환을 수행할 수 없습니다.

intrinsicData

vt 인수에서 설명하는 형식으로 변환된 IModelObject 내에 입력된 값이 여기에 반환됩니다. 포인터는 여유 값이 없는 VARIANT 구조를 가리킵니다. 이 작업을 마치면 호출자가 VariantClear를 사용하여 이 VARIANT를 지워야 합니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 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

추가 정보

IModelObject 인터페이스