Método IVsPackage.Close ()
Fecha o VSPackage, libera os ponteiros de interface em cache e unadvises de Coletores de eventos.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int Close()
int Close()
abstract Close : unit -> int
Function Close As Integer
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
Esse método irá limpar todas as referências externas e quebrar os ciclos de contagem de referência.Após os VSPackages todos os Close métodos tiverem sido chamados, o ambiente libera todos os proffered de serviços.
A semântica a seguir deverão ser seguida na implementação do Close método:
Depois que um VSPackage é carregado, ele não será descarregado até que o aplicativo de ambiente termina.Se um VSPackage Close método está sendo chamado, em seguida, cada VSPackage Close método é chamado.Isso significa que um determinado VSPackage lida com seus próprios requisitos de desligamento e limpeza.
O VSPackage irá limpar todas as referências externas.O método Close destina-se a quebra de ciclos de contagem de referência de todas as e contagens de incentivar todas as referências para finalmente chegar a zero.Você deve liberar os ponteiros de interface em cache, unadvise Coletores de eventos e fornecer outras tarefas de limpeza necessária.Os VSPackages deve estar certo honrar todas as contagens de referência.VSPackage não é possível excluir objetos quando o Close método é chamado.
Todos os serviços do ambiente e tudo carregados VSPackages permaneçam acessíveis durante a Close implementação do método.O VSPackage, no entanto, deve esperar que os serviços não estão disponíveis e que somente os métodos que são a garantia de êxito são unadvise métodos.A maioria dos serviços devem falhar, para informar o novo de Coletores de eventos ou para criar novos recursos.
VSPackage não deve chamar o RevokeService método a implementar a Close método.Espera-se que todos os serviços permanecem disponíveis durante o período de chamar Close em VSPackages.O ambiente revoga automaticamente e libera os serviços depois VSPackages ter chamado Close.
Não faz sentido para retornar um erro do Close.Todos os valores de retorno de erro são ignorados e o ambiente conclui o processo de desligamento, depois que for iniciado.O VSPackage tem uma oportunidade para interromper o processo de desligamento em seus QueryClose método.
Se precisar de um pacote bloquear o desligamento do IDE deve implementar IVsPackage2.
Consulte também
Interface IVsPackage
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo