Partilhar via


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