Freigeben über


SetProcessReference-Funktion (shlwapi.h)

Stellt ein COM-Objekt (Component Object Model) bereit, mit dem gehostete Shellerweiterungen und andere Komponenten verhindern können, 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

void SetProcessReference(
  [in, optional] IUnknown *punk
);

Parameter

[in, optional] punk

Ein Zeiger auf das Objekt, für das Sie einen Verweis speichern möchten. Dieser Wert kann NULL sein.

Rückgabewert

Keine

Bemerkungen

Windows Explorer und Internet Explorer können SetProcessReference verwenden, um Komponenten wie Shellerweiterungen die Lebensdauer des Prozesses zu verlängern. Andere Anwendungen können auch SetProcessReference verwenden, um dieselbe Funktion zuzulassen. Für instance verwenden die Browsernachrichtenschleife und der Proxydesktop SetProcessReference, damit andere Threads ihre Lebensdauer verlängern können.

Bei anderen Anwendungen als Windows Explorer und Internet Explorer, die diese Funktion aufrufen, treten möglicherweise Kompatibilitätsprobleme auf, da einige Komponenten SetProcessReference verwenden, um zu erkennen, ob sie von Windows Explorer oder Internet Explorer gehostet werden.

Der an SetProcessReference übergebene Schnittstellenzeiger muss auf ein Freithreadobjekt verweisen.

Jedes Mal, wenn eine Komponente GetProcessReference aufruft, ruft das System die AddRef-Methode auf, bevor der Schnittstellenzeiger auf die aufrufende Komponente zurückgegeben wird. Die Komponente ruft dann die IUnknown::Release-Methode auf, wenn die Verarbeitung abgeschlossen ist. Der Prozess, der SetProcessReference aufruft, darf nicht beendet werden, während die Verweisanzahl des bereitgestellten Schnittstellenzeigers nicht zero ist.

Weitere Informationen zur Verwendung der Prozessverweise finden Sie unter GetProcessReference.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlwapi.h
Bibliothek Shlwapi.lib
DLL Api-ms-win-shcore-thread-L1-1-0.dll

Weitere Informationen

GetProcessReference

SHSetInstanceExplorer

Windows-API-Sätze