Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il metodo GetIntrinsicValueAs si comporta in modo molto simile al metodo GetIntrinsicValue, ad eccezione del fatto che converte il valore nel tipo variant specificato. Se non è possibile eseguire la conversione, il metodo restituisce un errore.
Sintassi
HRESULT GetIntrinsicValueAs(
VARTYPE vt,
VARIANT *intrinsicData
);
Parametri
vt
Il tipo di valore da convertire viene passato qui come VARTYPE. I valori legali vengono VT_I1 tramite VT_I8, VT_U1 VT_U8, VT_R4 tramite VT_R8 e VT_BOOL. Non è possibile eseguire conversioni di stringhe tramite questo metodo.
intrinsicData
Il valore boxed all'interno del IModelObject convertito nel tipo descritto dall'argomento vt viene restituito qui. Il puntatore deve puntare a una struttura VARIANT che non contiene un valore liberabile. È responsabilità del chiamante cancellare questo variant con VariantClear al termine dell'operazione.
Valore restituito
Questo metodo restituisce HRESULT che indica l'esito positivo o negativo.
Osservazioni
esempio di codice
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.
Fabbisogno
| Requisito | Valore |
|---|---|
| intestazione | dbgmodel.h |