IModelObject::GetIntrinsicValueAs-Methode (dbgmodel.h)
Die GetIntrinsicValueAs-Methode verhält sich ähnlich wie die GetIntrinsicValue-Methode, mit der Ausnahme, dass der Wert in den angegebenen Variantentyp konvertiert wird. Wenn die Konvertierung nicht ausgeführt werden kann, gibt die Methode einen Fehler zurück.
Syntax
HRESULT GetIntrinsicValueAs(
VARTYPE vt,
VARIANT *intrinsicData
);
Parameter
vt
Der Typ des zu konvertierenden Werts wird hier als VARTYPE übergeben. Rechtliche Werte werden durch VT_I8, VT_U1 bis VT_U8, VT_R4 bis VT_R8 und VT_BOOL VT_I1. Zeichenfolgenkonvertierungen können nicht über diese Methode ausgeführt werden.
intrinsicData
Der wert im IModelObject in den typ konvertiert, der durch das vt-Argument beschrieben wird, wird hier zurückgegeben. Der Zeiger muss auf eine VARIANT-Struktur zeigen, die keinen freistellbaren Wert enthält. Es liegt in der Verantwortung des Aufrufers, diesen VARIANT mit VariantClear zu löschen, wenn er damit fertig ist.
Rückgabewert
Diese Methode gibt HRESULT zurück, das Erfolg oder Fehler angibt.
Bemerkungen
Codebeispiel
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.
Anforderungen
Anforderung | Wert |
---|---|
Header- | dbgmodel.h |