Partager via


SetProcessReference, fonction (shlwapi.h)

Fournit un objet COM (Component Object Model) qui permet aux extensions d’interpréteur de commandes hébergées et à d’autres composants d’empêcher leur processus hôte de se fermer prématurément. Le processus hôte est généralement Windows Explorer ou Windows Internet Explorer, mais cette fonction peut également être utilisée par d’autres applications.

Syntaxe

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

Paramètres

[in, optional] punk

Pointeur vers l’objet pour lequel vous souhaitez stocker une référence. Cette valeur peut être NULL.

Valeur de retour

None

Remarques

Windows Explorer et les Explorer Internet peuvent utiliser SetProcessReference pour permettre à des composants tels que les extensions shell de prolonger la durée de vie du processus. D’autres applications peuvent également utiliser SetProcessReference pour permettre la même fonctionnalité. Par instance, la boucle de message du navigateur et le bureau proxy utilisent SetProcessReference pour permettre à d’autres threads d’étendre leur durée de vie.

Les applications autres que Windows Explorer et les Explorer Internet qui appellent cette fonction peuvent rencontrer des problèmes de compatibilité, car certains composants utilisent SetProcessReference pour détecter s’ils sont hébergés à partir de Windows Explorer ou d’Internet Explorer.

Le pointeur d’interface passé à SetProcessReference doit référencer un objet à thread libre.

Chaque fois qu’un composant appelle GetProcessReference, le système appelle la méthode AddRef avant de retourner le pointeur d’interface vers le composant appelant. Le composant appelle ensuite la méthode IUnknown::Release une fois le traitement terminé. Le processus qui appelle SetProcessReference ne doit pas se terminer alors que le nombre de références du pointeur d’interface fourni est différent de zéro.

Pour plus d’informations sur la façon dont les composants utilisent les références de processus, consultez GetProcessReference.

Configuration requise

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlwapi.h
Bibliothèque Shlwapi.lib
DLL Api-ms-win-shcore-thread-L1-1-0.dll

Voir aussi

GetProcessReference

SHSetInstanceExplorer

Ensembles d’API Windows