IModelObject ::GetRawReference, méthode (dbgmodel.h)
La méthode GetRawReference recherche une construction native dans l’objet donné et retourne une référence à cet objet. 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 du 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
Une IModelObject représentant la construction native extraite est retournée ici. Notez que dans certaines circonstances, les informations d’erreur étendues peuvent être retournées dans cet argument même si hrESULT indique un échec.
Valeur de retour
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.
}
}
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dbgmodel.h |