Método IOleObject::SetMoniker (oleidl.h)
Notifica um objeto do moniker de seu contêiner, o próprio moniker do objeto em relação ao contêiner ou o moniker completo do objeto.
Sintaxe
HRESULT SetMoniker(
[in] DWORD dwWhichMoniker,
[in] IMoniker *pmk
);
Parâmetros
[in] dwWhichMoniker
O moniker é passado em pmk. Os valores possíveis são da enumeração OLEWHICHMK.
[in] pmk
Ponteiro para onde retornar o moniker.
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 |
---|---|
|
Falha na operação. |
Comentários
Um contêiner que dá suporte a links para objetos inseridos deve ser capaz de informar um objeto inserido quando seu moniker for alterado. Caso contrário, as tentativas subsequentes por clientes de link para associar ao objeto falharão. O método IOleObject::SetMoniker fornece uma maneira de um contêiner comunicar essas informações.
O contêiner pode passar seu próprio moniker, o moniker de um objeto em relação ao contêiner ou o moniker completo de um objeto. Na prática, se um contêiner passar algo diferente do moniker completo de um objeto, cada objeto chamará o contêiner de volta para solicitar a atribuição do moniker completo, que o objeto exige para se registrar na tabela de objetos em execução.
O moniker de um objeto relativo ao seu contêiner é armazenado pelo manipulador de objetos como parte do estado persistente do objeto. No entanto, o moniker do contêiner do objeto não deve ser armazenado persistentemente dentro do objeto porque o contêiner pode ser renomeado a qualquer momento.
Anotações aos Chamadores
Um contêiner chama IOleObject::SetMoniker quando o contêiner foi renomeado e os objetos inseridos do contêiner atualmente ou podem potencialmente servir como fontes de link. Os contêineres chamam SetMoniker principalmente no contexto de vinculação porque um objeto inserido já está ciente de seu moniker. Mesmo no contexto de vinculação, chamar esse método é opcional porque os objetos podem chamar IOleClientSite::GetMoniker para forçar a atribuição de um novo moniker.Observações aos implementadores
Ao receber uma chamada para IOleObject::SetMoniker, um objeto deve registrar seu moniker completo na tabela de objetos em execução e enviar uma notificação IAdviseSink::OnRename para todos os coletores de aviso que existem para o objeto.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 |