Método IOleClientSite::GetMoniker (oleidl.h)

Recupera um moniker para o site cliente do objeto. Um objeto pode forçar a atribuição própria ou o moniker de seu contêiner especificando um valor para dwAssign.

Sintaxe

HRESULT GetMoniker(
  [in]  DWORD    dwAssign,
  [in]  DWORD    dwWhichMoniker,
  [out] IMoniker **ppmk
);

Parâmetros

[in] dwAssign

Especifica se um moniker deve ser obtido somente se já existir, forçar a atribuição de um moniker, criar um moniker temporário ou remover um moniker atribuído. Na prática, você geralmente solicitará que o contêiner force a atribuição do moniker. Os valores possíveis são obtidos da enumeração OLEGETMONIKER .

[in] dwWhichMoniker

Especifica se o moniker do contêiner deve ser retornado, o moniker do objeto em relação ao contêiner ou o moniker completo do objeto. Na prática, você geralmente solicitará o moniker completo do objeto. Os valores possíveis são obtidos da enumeração OLEWHICHMK .

[out] ppmk

Um ponteiro para uma variável de ponteiro IMoniker que recebe o ponteiro de interface para o moniker para o site cliente do objeto. Se ocorrer um erro, a implementação deverá definir ppmk como NULL. Cada vez que um contêiner recebe uma chamada para IOleClientSite::GetMoniker, ele deve aumentar a contagem de referência no ponteiro ppmk retornado. É responsabilidade do chamador chamar Release quando ele for concluído com o ponteiro .

Retornar valor

Esse método retorna S_OK em caso de êxito. Outros valores retornados possíveis incluem o seguinte.

Código de retorno Descrição
E_NOTIMPL
Esse contêiner não pode atribuir monikers a objetos. Esse é o caso de contêineres OLE 1.

Comentários

Os contêineres implementam GetMoniker como uma forma de distribuir monikers para seus objetos inseridos para clientes que precisam ser vinculados a esses objetos.

Quando um link é feito para um objeto inserido ou para um pseudoobjeto dentro dele (um intervalo de células em uma planilha, por exemplo), o objeto precisa de um moniker para construir o moniker composto que indica a origem do link. Se o objeto inserido ainda não tiver um moniker, ele poderá chamar GetMoniker para solicitar um.

Cada contêiner que espera conter links para inserções deve dar suporte a GetMoniker para fornecer OLEWHICHMK_CONTAINER, permitindo assim o acompanhamento de link quando o cliente de link e os arquivos de origem do link se movem, mas mantêm a mesma posição relativa.

Um objeto não deve armazenar persistentemente seu moniker completo ou o moniker de seu contêiner, pois eles podem ser alterados enquanto o objeto não é carregado. Por exemplo, o contêiner ou o objeto poderia ser renomeado, caso em que, armazenar o moniker do contêiner ou o moniker completo do objeto tornaria impossível para um cliente rastrear um link para o objeto.

Em alguns casos muito especializados, um objeto pode não precisar mais de um moniker atribuído anteriormente a ele e talvez queira que ele seja removido como uma otimização. Nesses casos, o objeto pode chamar GetMoniker com OLEGETMONIKER_UNASSIGN para que o moniker seja removido.

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 oleidl.h

Confira também

Ioleclientsite

IOleClientSite::GetMoniker

IOleObject::SetMoniker