Metodo IModelObject::GetRawReference (dbgmodel.h)
Il metodo GetRawReference trova un costrutto nativo all'interno dell'oggetto specificato e ne restituisce un riferimento. Un costrutto di questo tipo può essere un campo, una classe base, un campo in una classe base, una funzione membro e così via... È importante distinguere il riferimento restituito qui (un oggetto del tipo ObjectTargetObjectReference) da un riferimento al linguaggio (ad esempio, un & C++ o un riferimento di stile &&).
Sintassi
HRESULT GetRawReference(
SymbolKind kind,
PCWSTR name,
ULONG searchFlags,
_COM_Errorptr_ IModelObject **object
);
Parametri
kind
Indica il tipo di simbolo nativo da recuperare (ad esempio, una classe di base o un membro dati)
name
Nome del costrutto nativo da recuperare.
searchFlags
Set facoltativo di flag che specifica il comportamento della ricerca del costrutto nativo.
object
Un IModelObject che rappresenta il costrutto nativo recuperato verrà restituito qui. Si noti che in alcune circostanze, le informazioni estese sull'errore possono essere restituite in questo argomento anche se HRESULT indica un errore.
Valore restituito
Questo metodo restituisce HRESULT che indica l'esito positivo o negativo. I valori restituiti E_BOUNDS (o E_NOT_SET in alcuni casi) indicano che il campo non è stato trovato.
Osservazioni
esempio di codice
ComPtr<IModelObject> spMessage; /* get a tagMSG */
ComPtr<IModelObject> spMsgIdRef;
if (SUCCEEDED(spMessage->GetRawReference(SymbolField, L"message", RawSearchNone, &spMsgIdRef)))
{
// spMsgIdRef is an ObjectTargetObjectReference. GetLocation/GetTypeInfo/GetTargetInfo
// will return as they would for the value. spMsgIdRef can be passed to Dereference or to
// the EE to assign a value, etc...
ComPtr<IModelObject> spMsgId;
if (SUCCEEDED(spMsgIdRef->Dereference(&spMsgId)))
{
// spMsgId contains the message number. Unbox with GetIntrinsicValueAs.
}
}
Fabbisogno
Requisito | Valore |
---|---|
intestazione | dbgmodel.h |