Compartir a través de


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

Determina si el objeto identificado por el moniker especificado se está ejecutando y, si es así, recupera un puntero a ese objeto.

Sintaxis

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

Parámetros

[in] pmkObjectName

Puntero a la interfaz IMoniker en el moniker.

[out] ppunkObject

Puntero a una variable de puntero IUnknown que recibe el puntero de interfaz al objeto en ejecución. Cuando se ejecuta correctamente, la implementación llama a AddRef en el objeto ; es responsabilidad del autor de la llamada llamar a Release. Si el objeto no se está ejecutando o si se produce un error, la implementación establece *ppunkObject en NULL.

Valor devuelto

Este método puede devolver los valores siguientes.

Código devuelto Descripción
S_OK
Indica que pmkObjectName se encontró en rot y se recuperó un puntero.
S_FALSE
No hay ninguna entrada para pmkObjectName en rot o que el objeto que identifica ya no se está ejecutando (en cuyo caso, se revoca la entrada).

Comentarios

Este método comprueba el ROT para el moniker especificado por pmkObjectName. Si ese moniker se había registrado anteriormente con una llamada a IRunningObjectTable::Register, este método devuelve el puntero que se registró en ese momento.

Notas a los autores de llamadas

Por lo general, llama al método IRunningObjectTable::GetObject solo si está escribiendo su propia clase de moniker (es decir, implementando la interfaz IMoniker ). Normalmente se llama a este método desde la implementación de IMoniker::BindToObject.

Sin embargo, tenga en cuenta que no todas las implementaciones de IMoniker::BindToObject deben llamar a este método. Si espera que el moniker tenga un prefijo (indicado por un parámetro pmkToLeft distinto de NULL a IMoniker::BindToObject), no debe comprobar el ROT. El motivo es que solo los monikers completos están registrados con el ROT y, si el moniker tiene un prefijo, el moniker forma parte de una composición y, por tanto, no se completa. En su lugar, el moniker debe solicitar servicios del objeto identificado por el prefijo (por ejemplo, el contenedor del objeto identificado por el moniker).

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objidl.h

Consulte también

IMoniker::BindToObject

IRunningObjectTable