Método IModelObject::GetIntrinsicValueAs (dbgmodel.h)

O método GetIntrinsicValueAs se comporta tanto quanto o método GetIntrinsicValue, exceto pelo fato de converter o valor para o tipo de variante especificado. Se a conversão não puder ser executada, o método retornará um erro.

Sintaxe

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

Parâmetros

vt

O tipo de valor para o qual converter é passado aqui como UM VARTYPE. Os valores legais são VT_I1 por meio de VT_I8, VT_U1 por meio de VT_U8, VT_R4 por meio de VT_R8 e VT_BOOL. Conversões de cadeia de caracteres não podem ser executadas por meio desse método.

intrinsicData

O valor em caixa dentro do IModelObject convertido no tipo descrito pelo argumento vt é retornado aqui. O ponteiro deve apontar para uma estrutura VARIANT que não contém um valor livre. É responsabilidade do chamador limpar essa VARIANT com VariantClear quando terminar com ele.

Retornar valor

Esse método retorna HRESULT que indica êxito ou falha.

Comentários

Exemplo 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
Cabeçalho dbgmodel.h

Confira também

Interface IModelObject