Compartilhar via


Método IClassFactory::LockServer (unknwn.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, decrementa a contagem de bloqueios.

Retornar valor

Esse método pode retornar os valores retornados 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 aos 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.

Observaçõ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 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á 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 resultados 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 são zero, o objeto de classe pode ser liberado.

Requisitos

Requisito Valor
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 unknwn.h (inclua Unknwn.h)

Confira também

Colockobjectexternal

IClassFactory