Compartir a través de


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

Bloquea una aplicación de objeto abierta en memoria. Esto permite crear instancias más rápidamente.

Sintaxis

HRESULT LockServer(
  [in] BOOL fLock
);

Parámetros

[in] fLock

Si es TRUE, incrementa el número de bloqueos; si es FALSE, disminuye el recuento de bloqueos.

Valor devuelto

Este método puede devolver los valores devueltos estándar E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL y S_OK.

Comentarios

IClassFactory::LockServer controla si el servidor de un objeto se mantiene en memoria. Mantener activa la aplicación en memoria permite crear instancias más rápidamente.

Notas a los autores de llamadas

La mayoría de los clientes no necesitan llamar a este método. Solo se proporciona para aquellos clientes que requieren un rendimiento especial en la creación de varias instancias de sus objetos.

Notas para los implementadores

Si el recuento de bloqueos es cero, no hay más objetos en uso y la aplicación no está bajo control de usuario, se puede cerrar el servidor. Una manera de implementar LockServer es llamar a la función CoLockObjectExternal .

El proceso que bloquea la aplicación de objeto es responsable de desbloquearla. Una vez liberado el objeto de clase, no hay ningún mecanismo que garantice la conexión del autor de la llamada a la misma clase más adelante (como en el caso de que un objeto de clase se registre como de uso único). Es importante contar todas las llamadas, no solo la última, a LockServer, porque las llamadas deben equilibrarse antes de intentar liberar el puntero a la interfaz IClassFactory en el objeto de clase o se produce un error. Para cada llamada a LockServer con fLock establecido en TRUE, debe haber una llamada a LockServer con fLock establecido en FALSE. Cuando el recuento de bloqueos y el recuento de referencias de objetos de clase son cero, el objeto de clase se puede liberar.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado unknwnbase.h (include Unknwn.h)

Consulte también

CoLockObjectExternal

IClassFactory