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

Confira também

Interface IModelObject