Función SHSetInstanceExplorer (shlobj_core.h)
Proporciona una interfaz que permite que las extensiones de Shell hospedadas y otros componentes impidan que su proceso de host se cierre prematuramente. Normalmente, el proceso de host es Windows Explorer o Windows Internet Explorer, pero otras aplicaciones también pueden usar esta función.
Sintaxis
void SHSetInstanceExplorer(
[in, optional] IUnknown *punk
);
Parámetros
[in, optional] punk
Tipo: IUnknown*
Puntero a un IUnknown de subproceso libre. Los componentes pueden usar esta interfaz (a través de SHGetInstanceExplorer) para evitar que el proceso de host termine. Este valor puede ser NULL, en cuyo caso la referencia de proceso ya no está disponible para los componentes.
Valor devuelto
None
Observaciones
Windows Explorer e Internet Explorer pueden usar SHSetInstanceExplorer para permitir que componentes como extensiones de Shell amplíen la duración del proceso. Otras aplicaciones también pueden usar SHSetInstanceExplorer para permitir la misma funcionalidad. Por ejemplo, el bucle de mensajes del explorador y el escritorio proxy usan SHSetInstanceExplorer para permitir que otros subprocesos amplíen su duración.
Las aplicaciones que no son Windows Explorer e Internet Explorer que llaman a esta función pueden encontrar problemas de compatibilidad porque algunos componentes usan SHGetInstanceExplorer para detectar si se hospedan desde Windows Explorer o Internet Explorer.
El puntero de interfaz pasado a SHSetInstanceExplorer debe hacer referencia a un objeto de subproceso libre.
Cada vez que un componente llama a SHGetInstanceExplorer, el sistema llama al método AddRef antes de devolver el puntero de interfaz al componente que realiza la llamada. A continuación, el componente llama al método IUnknown::Release cuando se completa el procesamiento. El proceso que llama a SHSetInstanceExplorer no debe finalizar mientras que el recuento de referencias del puntero de interfaz proporcionado es distinto de cero.
Para obtener más información sobre cómo usan los componentes las referencias de proceso, consulte SHGetInstanceExplorer.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlobj_core.h (incluya Shlobj.h) |
Library | Shell32.lib |
Archivo DLL | Shell32.dll (versión 5.0 o posterior) |
Conjunto de API | ext-ms-win-shell-shell32-l1-2-1 (introducido en Windows 10, versión 10.0.10240) |