Método IModelObject::GetRawReference (dbgmodel.h)
El método GetRawReference busca una construcción nativa dentro del objeto especificado y devuelve una referencia a él. Esta construcción puede ser un campo, una clase base, un campo en una clase base, una función miembro, etc. Es importante distinguir la referencia devuelta aquí (un objeto del tipo ObjectTargetObjectReference) de una referencia de lenguaje (por ejemplo, una referencia de estilo de & C++ o && ).
Sintaxis
HRESULT GetRawReference(
SymbolKind kind,
PCWSTR name,
ULONG searchFlags,
_COM_Errorptr_ IModelObject **object
);
Parámetros
kind
Indica el tipo de símbolo nativo que se va a capturar (por ejemplo: una clase base o un miembro de datos).
name
Nombre de la construcción nativa que se va a capturar.
searchFlags
Conjunto opcional de marcas que especifican el comportamiento de la búsqueda de la construcción nativa.
object
Se devolverá un IModelObject que represente la construcción nativa capturada aquí. Tenga en cuenta que, en algunas circunstancias, se puede devolver información de error extendida en este argumento incluso si HRESULT indica un error.
Valor devuelto
Este método devuelve HRESULT que indica éxito o error. Los valores devueltos E_BOUNDS (o E_NOT_SET en algunos casos) indican que no se encontró el campo.
Comentarios
Ejemplo de código
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.
}
}
Requisitos
Requisito | Valor |
---|---|
Header | dbgmodel.h |