IModelObject ::GetRawReference, méthode (dbgmodel.h)
La méthode GetRawReference recherche une construction native dans l’objet donné et retourne une référence à celui-ci. Une telle construction peut être un champ, une classe de base, un champ dans une classe de base, une fonction membre, etc... Il est important de distinguer la référence retournée ici (objet de type ObjectTargetObjectReference) d’une référence de langage (par exemple, une référence de style C++ & ou && ).
Syntaxe
HRESULT GetRawReference(
SymbolKind kind,
PCWSTR name,
ULONG searchFlags,
_COM_Errorptr_ IModelObject **object
);
Paramètres
kind
Indique le type de symbole natif à extraire (par exemple, une classe de base ou un membre de données)
name
Nom de la construction native à extraire.
searchFlags
Ensemble facultatif d’indicateurs spécifiant le comportement de la recherche de la construction native.
object
Un IModelObject représentant la construction native extraite sera retourné ici. Notez que dans certaines circonstances, des informations d’erreur étendues peuvent être retournées dans cet argument, même si le HRESULT indique un échec.
Valeur retournée
Cette méthode retourne HRESULT qui indique la réussite ou l’échec. Les valeurs de retour E_BOUNDS (ou E_NOT_SET dans certains cas) indiquent que le champ est introuvable.
Remarques
Exemple de code
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.
}
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |