Metode IModelObject::GetIntrinsicValueAs (dbgmodel.h)

Metode GetIntrinsicValueAs bereaksi sebanyak metode GetIntrinsicValue kecuali bahwa metode ini mengonversi nilai ke jenis varian yang ditentukan. Jika konversi tidak dapat dilakukan, metode mengembalikan kesalahan.

Sintaks

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

Parameter

vt

Jenis nilai yang akan dikonversi ke diteruskan di sini sebagai VARTYPE. Nilai hukum VT_I1 melalui VT_I8, VT_U1 melalui VT_U8, VT_R4 melalui VT_R8, dan VT_BOOL. Konversi string tidak dapat dilakukan melalui metode ini.

intrinsicData

Nilai yang dikotak di dalam IModelObject yang dikonversi ke jenis yang dijelaskan oleh argumen vt dikembalikan di sini. Penunjuk harus menunjuk ke struktur VARIAN yang tidak berisi nilai yang dapat dibebaskan. Pemanggil bertanggung jawab untuk menghapus VARIAN ini dengan VariantClear setelah selesai.

Nilai kembali

Metode ini mengembalikan HRESULT yang menunjukkan keberhasilan atau kegagalan.

Keterangan

Sampel Kode

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.

Persyaratan

Persyaratan Nilai
Header dbgmodel.h

Lihat juga

Antarmuka IModelObject