IVsPackage.Close Methode

Definition

Schließt VSPackages, gibt zwischengespeicherte Schnittstellenzeiger frei und hebt Anweisungen für Ereignissenken auf.

public:
 int Close();
public:
 int Close();
int Close();
public int Close ();
abstract member Close : unit -> int
Public Function Close () As Integer

Gibt zurück

Int32

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.

Hinweise

Diese Methode bereinigt alle externen Verweise und unterbricht alle Verweis zählungs Zyklen. Nachdem alle VSPackages- Close Methoden aufgerufen wurden, gibt die Umgebung alle angebotenen Dienste frei.

Die folgende Semantik sollte in der Implementierung der-Methode befolgt werden Close :

  • Nachdem ein VSPackage geladen wurde, wird es erst entladen, wenn die Umgebungs Anwendung beendet wird. Wenn eine VSPackage- Close Methode aufgerufen wird, wird jede VSPackage- Close Methode aufgerufen. Dies bedeutet, dass ein bestimmtes VSPackage seine eigenen Anforderungen für das Herunterfahren und bereinigen verarbeitet.

  • Mit dem VSPackage werden alle externen Verweise bereinigt. Die Close-Methode soll alle Verweis zählungs Zyklen unterbrechen und alle Verweis Zähler dazu ermutigen, letztlich NULL zu erreichen. Sie sollten zwischengespeicherte Schnittstellen Zeiger freigeben, Ereignis senken nicht empfehlen und andere erforderliche Bereinigungs Aufgaben bereitstellen. VSPackages müssen alle Verweis Zähler berücksichtigen. Ein VSPackage kann Objekte nicht löschen, wenn die- Close Methode aufgerufen wird.

  • Alle Dienste der Umgebung und alle geladenen VSPackages bleiben während der Close Methoden Implementierung zugänglich. Das VSPackage muss jedoch davon ausgehen, dass die Dienste nicht verfügbar sind, und dass die einzigen Methoden, die garantiert erfolgreich sind, nicht empfohlen werden. Die meisten Dienste schlagen fehl, um neue Ereignis senken zu empfehlen oder um neue Ressourcen zu erstellen.

  • Ein VSPackage sollte die- RevokeService Methode nicht in der Implementierung der- Close Methode aufzurufen. Es wird erwartet, dass alle Dienste für die Dauer des Aufrufs von Close für VSPackages verfügbar bleiben. Die Umgebung hebt die Dienste automatisch auf und gibt Sie frei, nachdem VSPackages aufgerufen haben Close .

Es ist bedeutungslos, dass ein Fehler von zurückgegeben wird Close . Alle Fehlerrückgabe Werte werden ignoriert, und die Umgebung schließt den Vorgang zum Herunterfahren ab, sobald Sie gestartet wurde. Das VSPackage hat die Möglichkeit, den Vorgang zum Herunterfahren in seiner-Methode zu beenden QueryClose .

Wenn ein Paket das Herunterfahren der IDE blockieren muss, muss es implementieren IVsPackage2 .

Gilt für