Método IRunningObjectTable::GetObject (objidl.h)

Determina se o objeto identificado pelo moniker especificado está em execução e, se estiver, recupera um ponteiro para esse objeto.

Sintaxe

HRESULT GetObject(
  [in]  IMoniker *pmkObjectName,
  [out] IUnknown **ppunkObject
);

Parâmetros

[in] pmkObjectName

Um ponteiro para a interface IMoniker no moniker.

[out] ppunkObject

Um ponteiro para uma variável de ponteiro IUnknown que recebe o ponteiro de interface para o objeto em execução. Quando bem-sucedida, a implementação chama AddRef no objeto ; é responsabilidade do chamador chamar Release. Se o objeto não estiver em execução ou se ocorrer um erro, a implementação definirá *ppunkObject como NULL.

Retornar valor

Esse método pode retornar os valores a seguir.

Código de retorno Descrição
S_OK
Indica que pmkObjectName foi encontrado no ROT e um ponteiro foi recuperado.
S_FALSE
Não há nenhuma entrada para pmkObjectName na ROT ou que o objeto que ele identifica não está mais em execução (nesse caso, a entrada é revogada).

Comentários

Esse método verifica o ROT para o moniker especificado por pmkObjectName. Se esse moniker tiver sido registrado anteriormente com uma chamada para IRunningObjectTable::Register, esse método retornará o ponteiro que foi registrado naquele momento.

Anotações aos Chamadores

Em geral, você chamará o método IRunningObjectTable::GetObject somente se estiver escrevendo sua própria classe de moniker (ou seja, implementando a interface IMoniker ). Normalmente, você chama esse método da implementação de IMoniker::BindToObject.

No entanto, observe que nem todas as implementações de IMoniker::BindToObject precisam chamar esse método. Se você espera que seu moniker tenha um prefixo (indicado por um parâmetro pmkToLeft não NULL para IMoniker::BindToObject), você não deve marcar ROT. O motivo para isso é que apenas monikers completos são registrados com o ROT e, se o moniker tiver um prefixo, o moniker faz parte de uma composição e, portanto, não é concluído. Em vez disso, o moniker deve solicitar serviços do objeto identificado pelo prefixo (por exemplo, o contêiner do objeto identificado pelo moniker).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho objidl.h

Confira também

IMoniker::BindToObject

Irunningobjecttable