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 インターフェイス の