Método IClassFactory::LockServer (unknwnbase.h)

Bloqueia um aplicativo de objeto aberto na memória. Isso permite que as instâncias sejam criadas mais rapidamente.

Sintaxe

HRESULT LockServer(
  [in] BOOL fLock
);

Parâmetros

[in] fLock

Se TRUE, incrementa a contagem de bloqueios; se FALSE, diminui a contagem de bloqueios.

Valor retornado

Esse método pode retornar os valores de retorno padrão E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL e S_OK.

Comentários

IClassFactory::LockServer controla se o servidor de um objeto é mantido na memória. Manter o aplicativo ativo na memória permite que as instâncias sejam criadas mais rapidamente.

Anotações para chamadores

A maioria dos clientes não precisa chamar esse método. Ele é fornecido somente para os clientes que exigem desempenho especial na criação de várias instâncias de seus objetos.

Anotações aos implementadores

Se a contagem de bloqueios for zero, não haverá mais objetos em uso e o aplicativo não estiver sob controle do usuário, o servidor poderá ser fechado. Uma maneira de implementar o LockServer é chamar a função CoLockObjectExternal .

O processo que bloqueia o aplicativo de objeto é responsável por desbloqueá-lo. Depois que o objeto de classe é liberado, não há nenhum mecanismo que garanta a conexão do chamador com a mesma classe posteriormente (como no caso em que um objeto de classe é registrado como uso único). É importante contar todas as chamadas, não apenas a última, para LockServer, porque as chamadas devem ser balanceadas antes de tentar liberar o ponteiro para a interface IClassFactory no objeto de classe ou um resultado de erro. Para cada chamada para LockServer com fLock definido como TRUE, deve haver uma chamada para LockServer com fLock definido como FALSE. Quando a contagem de bloqueios e a contagem de referência de objeto de classe forem zero, o objeto de classe poderá ser liberado.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho unknwnbase.h (inclua Unknwn.h)

Confira também

Colockobjectexternal

IClassFactory