SHGetInstanceExplorer-Funktion (shlobj_core.h)
Ruft eine Schnittstelle ab, die es gehosteten Shell-Erweiterungen und anderen Komponenten ermöglicht, zu verhindern, dass ihr Hostprozess vorzeitig geschlossen wird. Der Hostprozess ist in der Regel Windows Explorer oder Windows Internet Explorer, aber diese Funktion kann auch von anderen Anwendungen verwendet werden.
Syntax
SHSTDAPI SHGetInstanceExplorer(
[out] IUnknown **ppunk
);
Parameter
[out] ppunk
Typ: IUnknown**
Wenn diese Funktion erfolgreich zurückgegeben wird, enthält die Adresse des IUnknown-Schnittstellenzeigers des Hostprozesses. Dies ist eine Freithreadschnittstelle, mit der verhindert wird, dass der Hostprozess beendet wird. Wenn der Funktionsaufruf fehlschlägt, wird dieser Wert auf NULL festgelegt.
Rückgabewert
Typ: HRESULT
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Es gibt eine Reihe von Komponenten, z. B. Shell-Erweiterungshandler, die als DLLs implementiert und in einem Hostprozess wie Windows Explorer (Explorer.exe) oder Internet Explorer (Iexplore.exe) ausgeführt werden. Wenn der Benutzer den Hostprozess schließt, wird die Komponente in der Regel auch sofort heruntergefahren. Eine solche abrupte Beendigung kann probleme für einige Komponenten verursachen. Wenn eine Komponente beispielsweise einen Hintergrundthread verwendet, um Daten herunterzuladen oder Benutzeroberflächenfunktionen auszuführen, benötigt sie möglicherweise zusätzliche Zeit, um sich selbst sicher herunterzufahren.
SHGetInstanceExplorer ermöglicht Es Komponenten, die in einem Hostprozess ausgeführt werden, einen Verweis auf den Hostprozess zu enthalten. SHGetInstanceExplorer erhöht die Verweisanzahl des Hosts und gibt einen Zeiger auf die IUnknown-Schnittstelle des Hosts zurück. Durch das Halten dieses Verweises kann eine Komponente verhindern, dass der Hostprozess vorzeitig geschlossen wird. Nachdem die Komponente die erforderliche Verarbeitung abgeschlossen hat, sollte sie (*ppunk)->Release aufrufen, um den Verweis des Hosts freizugeben und das Beenden des Prozesses zuzulassen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | shlobj_core.h (einschließlich Shlobj.h) |
Bibliothek | Shell32.lib |
DLL | Shell32.dll (Version 4.0 oder höher) |