Partager via


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

Voir aussi

interface IModelObject