Condividi tramite


Funzione GetProcessReference (shlwapi.h)

Recupera l'oggetto specifico del processo fornito da SetProcessReference, incrementando il conteggio dei riferimenti per mantenere attivo il processo.

Sintassi

LWSTDAPI GetProcessReference(
  [out] IUnknown **punk
);

Parametri

[out] punk

L'indirizzo di un puntatore che, quando questa funzione restituisce correttamente, punta all'oggetto fornito al processo da SetProcessReference. L'applicazione è responsabile della liberazione di questa risorsa quando non è più necessaria.

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

Esistono diversi componenti, ad esempio gestori di estensioni shell, implementati come DLL ed eseguiti in un processo host, ad esempio Esplora risorse (Explorer.exe) o Windows Internet Explorer (Iexplore.exe). In genere, quando l'utente chiude il processo host, il componente viene arrestato immediatamente. Una terminazione brusca può creare problemi per alcuni componenti. Ad esempio, se un componente usa un thread in background per scaricare i dati o eseguire funzioni dell'interfaccia utente, potrebbe essere necessario tempo aggiuntivo per arrestarsi in modo sicuro.

GetProcessReference consente ai componenti eseguiti in un processo host di contenere un riferimento nel processo host. GetProcessReference incrementa il conteggio dei riferimenti dell'host e restituisce un puntatore all'interfaccia IUnknown dell'host. Tenendo presente tale riferimento, un componente può impedire la chiusura prematura del processo host. Dopo aver completato l'elaborazione necessaria, il componente deve chiamare (*punk)->Release per rilasciare il riferimento dell'host e consentire al processo di terminare.

Nota Se GetProcessReference ha esito positivo, il componente deve rilasciare il riferimento dell'host quando non è più necessario. In caso contrario, tutte le risorse associate al processo rimarranno in memoria. L'interfaccia IUnknown puntata da *punk può essere usata solo per rilasciare questo riferimento. I componenti non possono usare (*punk)->QueryInterface per richiedere altri puntatori di interfaccia.
 
GetProcessReference ha esito positivo solo se viene chiamato da un'applicazione che in precedenza ha chiamato SetProcessReference per impostare un riferimento al processo.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Api-ms-win-shcore-thread-L1-1-0.dll

Vedi anche

SHGetInstanceExplorer

SetProcessReference

Set di API Windows