Condividi tramite


Funzione SHSetInstanceExplorer (shlobj_core.h)

Fornisce un'interfaccia che consente alle estensioni shell ospitate e ad altri componenti di impedire la chiusura prematura del processo host. Il processo host è in genere Windows Explorer o Windows Internet Explorer, ma questa funzione può essere usata anche da altre applicazioni.

Sintassi

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

Parametri

[in, optional] punk

Tipo: IUnknown*

Puntatore a un IUnknown senza thread. I componenti possono usare questa interfaccia (tramite SHGetInstanceExplorer) per impedire che il processo host venga terminato. Questo valore può essere NULL, nel qual caso il riferimento al processo non è più disponibile per i componenti.

Valore restituito

nessuno

Osservazioni

Windows Explorer e Internet Explorer possono usare SHSetInstanceExplorer per consentire ai componenti, ad esempio estensioni shell, di estendere la durata del processo. Altre applicazioni possono anche usare SHSetInstanceExplorer per consentire la stessa funzionalità. Ad esempio, il ciclo di messaggi del browser e il desktop proxy usano SHSetInstanceExplorer per consentire ad altri thread di estendere la durata.

Le applicazioni diverse da Windows Explorer e Internet Explorer che chiamano questa funzione potrebbero riscontrare problemi di compatibilità perché alcuni componenti usano SHGetInstanceExplorer per rilevare se sono ospitati da Windows Explorer o Internet Explorer.

Il puntatore dell'interfaccia passato a SHSetInstanceExplorer deve fare riferimento a un oggetto senza thread.

Ogni volta che un componente chiama SHGetInstanceExplorer, il sistema chiama il metodo AddRef prima di restituire il puntatore dell'interfaccia al componente chiamante. Il componente chiama quindi il metodo IUnknown::Release al termine dell'elaborazione. Il processo che chiama SHSetInstanceExplorer non deve terminare mentre il conteggio dei riferimenti del puntatore dell'interfaccia specificato non è zero.

Per altre informazioni su come i componenti usano i riferimenti al processo, vedere SHGetInstanceExplorer.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlobj_core.h (include Shlobj.h)
Libreria Shell32.lib
DLL Shell32.dll (versione 5.0 o successiva)
Set di API ext-ms-win-shell-shell32-l1-2-1 (introdotta in Windows 10, versione 10.0.10240)

Vedi anche

SHGetInstanceExplorer