Função SetProcessReference (shlwapi.h)

Fornece um objeto COM (Component Object Model) que permite que extensões do Shell hospedadas e outros componentes impeçam que seu 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 SetProcessReference(
  [in, optional] IUnknown *punk
);

Parâmetros

[in, optional] punk

Um ponteiro para o objeto para o qual você deseja armazenar uma referência. Esse valor pode ser NULL.

Valor retornado

Nenhum

Comentários

O Windows Explorer e os Explorer da Internet podem usar SetProcessReference para permitir que componentes como extensões do Shell estendam o tempo de vida do processo. Outros aplicativos também podem usar SetProcessReference para permitir a mesma funcionalidade. Por exemplo, o loop de mensagens do navegador e a área de trabalho proxy usam SetProcessReference 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 SetProcessReference para detectar se estão sendo hospedados de dentro do Windows Explorer ou Explorer da Internet.

O ponteiro de interface passado para SetProcessReference deve referenciar um objeto de thread livre.

Sempre que um componente chama GetProcessReference, 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 SetProcessReference 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 GetProcessReference.

Requisitos

   
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlwapi.h
Biblioteca Shlwapi.lib
DLL Api-ms-win-shcore-thread-L1-1-0.dll

Confira também

GetProcessReference

SHSetInstanceExplorer

Conjuntos de API do Windows