Función SHGetInstanceExplorer (shlobj_core.h)
Recupera 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
SHSTDAPI SHGetInstanceExplorer(
[out] IUnknown **ppunk
);
Parámetros
[out] ppunk
Tipo: IUnknown**
Cuando esta función vuelve correctamente, contiene la dirección del puntero de interfaz IUnknown del proceso host. Se trata de una interfaz de subproceso libre que se usa para evitar que el proceso host finalice. Si se produce un error en la llamada de función, este valor se establece en NULL.
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Hay una serie de componentes, como controladores de extensión de Shell, que se implementan como archivos DLL y se ejecutan en un proceso de host como El Explorador de Windows (Explorer.exe) o Internet Explorer (Iexplore.exe). Normalmente, cuando el usuario cierra el proceso de host, el componente también se apaga inmediatamente. Esta terminación abrupta puede crear problemas para algunos componentes. Por ejemplo, si un componente usa un subproceso en segundo plano para descargar datos o ejecutar funciones de interfaz de usuario, es posible que necesite tiempo adicional para apagarse de forma segura.
SHGetInstanceExplorer permite que los componentes que se ejecutan en un proceso de host contengan una referencia en el proceso de host. SHGetInstanceExplorer incrementa el recuento de referencias del host y devuelve un puntero a la interfaz IUnknown del host. Al mantener esa referencia, un componente puede impedir que el proceso host se cierre prematuramente. Una vez que el componente haya completado su procesamiento necesario, debe llamar a (*ppunk)->Release para liberar la referencia del host y permitir que el proceso finalice.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlobj_core.h (incluya Shlobj.h) |
Library | Shell32.lib |
Archivo DLL | Shell32.dll (versión 4.0 o posterior) |