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 |