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 |