Método IModelObject::GetIntrinsicValueAs (dbgmodel.h)
El método GetIntrinsicValueAs se comporta tanto como el método GetIntrinsicValue, excepto que convierte el valor en el tipo de variante especificado. Si no se puede realizar la conversión, el método devuelve un error.
Sintaxis
HRESULT GetIntrinsicValueAs(
VARTYPE vt,
VARIANT *intrinsicData
);
Parámetros
vt
El tipo de valor al que se va a convertir se pasa aquí como VARTYPE. Los valores legales se VT_I1 a través de VT_I8, VT_U1 a través de VT_U8, VT_R4 a través de VT_R8 y VT_BOOL. Las conversiones de cadenas no se pueden realizar a través de este método.
intrinsicData
Aquí se devuelve el valor boxed dentro del IModelObject convertido al tipo descrito por el argumento vt. El puntero debe apuntar a una estructura VARIANT que no contiene un valor liberable. Es responsabilidad del autor de la llamada borrar este VARIANT con VariantClear cuando termine con él.
Valor devuelto
Este método devuelve HRESULT que indica éxito o error.
Comentarios
Ejemplo de código
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.
Requisitos
Requisito | Valor |
---|---|
Header | dbgmodel.h |