Método IModelObject::GetRawReference (dbgmodel.h)
O método GetRawReference localiza um constructo nativo dentro do objeto fornecido e retorna uma referência a ele. Esse constructo pode ser um campo, uma classe base, um campo em uma classe base, uma função membro etc... É importante distinguir a referência retornada aqui (um objeto do tipo ObjectTargetObjectReference) de uma referência de linguagem (por exemplo: uma referência de estilo de & C++ ou && ).
Sintaxe
HRESULT GetRawReference(
SymbolKind kind,
PCWSTR name,
ULONG searchFlags,
_COM_Errorptr_ IModelObject **object
);
Parâmetros
kind
Indica o tipo de símbolo nativo a ser buscado (por exemplo: uma classe base ou um membro de dados)
name
O nome do constructo nativo a ser buscado.
searchFlags
Um conjunto opcional de sinalizadores que especifica o comportamento da pesquisa para o constructo nativo.
object
Um IModelObject que representa o constructo nativo buscado será retornado aqui. Observe que, em algumas circunstâncias, as informações de erro estendidas podem ser retornadas nesse argumento mesmo que o HRESULT indique falha.
Retornar valor
Esse método retorna HRESULT que indica êxito ou falha. Os valores retornados E_BOUNDS (ou E_NOT_SET em alguns casos) indicam que o campo não foi encontrado.
Comentários
Exemplo 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 |
---|---|
Cabeçalho | dbgmodel.h |