IModelObject::GetRawReference-Methode (dbgmodel.h)
Die GetRawReference-Methode findet ein natives Konstrukt innerhalb des angegebenen Objekts und gibt einen Verweis darauf zurück. Ein solches Konstrukt kann ein Feld, eine Basisklasse, ein Feld in einer Basisklasse, eine Memberfunktion usw. sein... Es ist wichtig, den hier zurückgegebenen Verweis (ein Objekt vom Typ ObjectTargetObjectReference) von einem Sprachverweis zu unterscheiden (z. B. ein C++-& oder && Stilreferenz).
Syntax
HRESULT GetRawReference(
SymbolKind kind,
PCWSTR name,
ULONG searchFlags,
_COM_Errorptr_ IModelObject **object
);
Parameter
kind
Gibt die Art des nativen Symbols an, das abgerufen werden soll (z. B. eine Basisklasse oder ein Datenmember).
name
Der Name des nativen Konstrukts, das abgerufen werden soll.
searchFlags
Ein optionaler Satz von Flags, die das Verhalten der Suche nach dem nativen Konstrukt angeben.
object
Ein IModelObject , das das abgerufene native Konstrukt darstellt, wird hier zurückgegeben. Beachten Sie, dass unter bestimmten Umständen erweiterte Fehlerinformationen in diesem Argument zurückgegeben werden können, auch wenn das HRESULT auf einen Fehler hinweist.
Rückgabewert
Diese Methode gibt HRESULT zurück, das auf Erfolg oder Fehler hinweist. Die Rückgabewerte E_BOUNDS (oder in einigen Fällen E_NOT_SET) weisen darauf hin, dass das Feld nicht gefunden wurde.
Hinweise
Codebeispiel
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.
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |