次の方法で共有


IModelObject::GetIntrinsicValueAs メソッド (dbgmodel.h)

GetIntrinsicValueAs メソッドは、値を指定されたバリアント型に変換することを除き、GetIntrinsicValue メソッドと同じように動作します。 変換を実行できない場合、メソッドはエラーを返します。

構文

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

パラメーター

vt

変換する値の型は、ここで VARTYPE として渡されます。 法的価値は、VT_I8、VT_U8、VT_U1 VT_R4、VT_R8、およびVT_BOOLによってVT_I1されます。 このメソッドを使用して文字列変換を実行することはできません。

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

関連項目

IModelObject インターフェイス