共用方式為


IModelObject::GetIntrinsicValueAs 方法 (dbgmodel.h)

GetIntrinsicValueAs 方法的行為就像 GetIntrinsicValue 方法一樣,不同之處在於它會將值轉換成指定的變體類型。 如果無法執行轉換,方法會傳回錯誤。

語法

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

參數

vt

要轉換成 的值類型會以 VARTYPE 的形式傳遞給這裡。 法務值是透過VT_I8 VT_I1、VT_U1到VT_U8、VT_R4到VT_R8,以及VT_BOOL。 無法透過此方法執行字串轉換。

intrinsicData

此處會傳回 IModelObject 內轉換成 vt 自變數所描述之類型的Boxed值。 指標必須指向不包含可釋放值的 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 介面