Método IOleObject::Close (oleidl.h)
Altera um objeto inserido do em execução para o estado carregado. Desconecta um objeto vinculado de sua fonte de link.
Sintaxe
HRESULT Close(
[in] DWORD dwSaveOption
);
Parâmetros
[in] dwSaveOption
Indica se o objeto deve ser salvo como parte da transição para o estado carregado. Os valores válidos são obtidos da enumeração OLECLOSE.
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 |
---|---|
|
O usuário foi solicitado a salvar, mas escolheu o botão Cancelar na caixa de mensagem de prompt. |
Comentários
Anotações aos Chamadores
Um aplicativo de contêiner chama IOleObject::Close quando deseja mover o objeto de uma execução para um estado carregado. Após essa chamada, o objeto ainda aparece em seu contêiner, mas não está aberto para edição. Chamar IOleObject::Close em um objeto carregado, mas que não está em execução, não tem efeito. Fechar um objeto vinculado significa simplesmente desconectá-lo.Observações aos implementadores
Ao receber uma chamada para IOleObject::Close, um objeto em execução deve fazer o seguinte:- Se o objeto tiver sido alterado desde que foi aberto pela última vez para edição, ele deverá solicitar que seja salvo ou não, de acordo com as instruções especificadas em dwSaveOption. Se a opção for salvar o objeto, ela deverá chamar a interface IOleClientSite::SaveObject do contêiner.
- Se o objeto tiver conexões IDataObject::D Advise com sinalizadores _DATAONSTOP ADVF, ele deverá enviar uma notificação IAdviseSink::OnDataChange . Consulte IDataObject::D Advise para obter detalhes.
- Se o objeto for atualmente proprietário da Área de Transferência, ele deverá esvaziá-lo chamando OleFlushClipboard.
- Se o objeto estiver visível no momento, notifique seu contêiner chamando IOleClientSite::OnShowWindow com o argumento fshow definido como FALSE.
- Envie notificações de IAdviseSink::OnClose para os coletores de aviso apropriados.
- Por fim, corte à força todos os clientes de comunicação remota chamando CoDisconnectObject.
Chamar IOleObject::Close em um objeto vinculado desconecta-o, mas não desliga seu aplicativo de origem. Um aplicativo de origem que fica visível para o usuário quando o objeto é fechado permanece visível e em execução após a desconexão e não envia uma notificação IAdviseSink::OnClose para o contêiner de link.
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 |