GetProcessReference, fonction (shlwapi.h)
Récupère l’objet spécifique au processus fourni par SetProcessReference, en incrémentant le nombre de références pour maintenir le processus actif.
Syntaxe
LWSTDAPI GetProcessReference(
[out] IUnknown **punk
);
Paramètres
[out] punk
Adresse d’un pointeur qui, lorsque cette fonction retourne correctement, pointe vers l’objet fourni au processus par SetProcessReference. Votre application est chargée de libérer cette ressource quand elle n’est plus nécessaire.
Pointeur vers un IUnknown à thread libre. Les composants peuvent utiliser cette interface (via SHGetInstanceExplorer) pour empêcher la fin du processus hôte. Cette valeur peut être NULL, auquel cas la référence de processus n’est plus mise à la disposition des composants.
Valeur de retour
None
Remarques
Il existe un certain nombre de composants, tels que les gestionnaires d’extension Shell, qui sont implémentés en tant que DLL et exécutés dans un processus hôte tel que Windows Explorer (Explorer.exe) ou Windows Internet Explorer (Iexplore.exe). En règle générale, lorsque l’utilisateur ferme le processus hôte, le composant est également arrêté immédiatement. Un arrêt aussi brusque peut créer des problèmes pour certains composants. Par exemple, si un composant utilise un thread d’arrière-plan pour télécharger des données ou exécuter des fonctions d’interface utilisateur, il peut avoir besoin de temps supplémentaire pour s’arrêter en toute sécurité.
GetProcessReference permet aux composants qui s’exécutent dans un processus hôte de contenir une référence sur le processus hôte. GetProcessReference incrémente le nombre de références de l’hôte et retourne un pointeur vers l’interface IUnknown de l’hôte. En conservant cette référence, un composant peut empêcher le processus hôte de se fermer prématurément. Une fois que le composant a terminé son traitement nécessaire, il doit appeler (*punk)->Release pour libérer la référence de l’hôte et autoriser le processus à se terminer.
Configuration requise
Condition requise | Valeur |
---|---|
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 |