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 |
---|---|
|
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 |