Função SHSetInstanceExplorer (shlobj_core.h)
Fornece uma interface que permite que extensões do Shell hospedadas e outros componentes impeçam que o processo de host seja fechado prematuramente. Normalmente, o processo de host é Explorer do Windows ou Explorer da Internet do Windows, mas essa função também pode ser usada por outros aplicativos.
Sintaxe
void SHSetInstanceExplorer(
[in, optional] IUnknown *punk
);
Parâmetros
[in, optional] punk
Tipo: IUnknown*
Um ponteiro para um IUnknown de thread livre. Os componentes podem usar essa interface (por meio de SHGetInstanceExplorer) para impedir que o processo de host seja encerrado. Esse valor pode ser NULL, caso em que a referência do processo não é mais disponibilizada para componentes.
Retornar valor
Nenhum
Comentários
O Windows Explorer e os Explorer da Internet podem usar SHSetInstanceExplorer para permitir que componentes como extensões do Shell estendam o tempo de vida do processo. Outros aplicativos também podem usar SHSetInstanceExplorer para permitir a mesma funcionalidade. Por exemplo, o loop de mensagens do navegador e a área de trabalho proxy usam SHSetInstanceExplorer para permitir que outros threads estendam seu tempo de vida.
Aplicativos diferentes do Windows Explorer e Explorer da Internet que chamam essa função podem encontrar problemas de compatibilidade porque alguns componentes usam SHGetInstanceExplorer para detectar se estão sendo hospedados de dentro do Windows Explorer ou Explorer da Internet.
O ponteiro de interface passado para SHSetInstanceExplorer deve referenciar um objeto de thread livre.
Sempre que um componente chama SHGetInstanceExplorer, o sistema chama o método AddRef antes de retornar o ponteiro de interface para o componente de chamada. Em seguida, o componente chama o método IUnknown::Release quando o processamento é concluído. O processo que chama SHSetInstanceExplorer não deve terminar enquanto a contagem de referência do ponteiro de interface fornecido for diferente de zero.
Para obter mais informações sobre como os componentes usam as referências de processo, consulte SHGetInstanceExplorer.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shlobj_core.h (inclua Shlobj.h) |
Biblioteca | Shell32.lib |
DLL | Shell32.dll (versão 5.0 ou posterior) |
Conjunto de APIs | ext-ms-win-shell-shell32-l1-2-1 (introduzido no Windows 10, versão 10.0.10240) |