Compartir a través de


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

Consulte también

Interfaz IModelObject