Share via


IClassFactory::LockServer 메서드(unknwnbase.h)

메모리에서 열린 개체 애플리케이션을 잠가 둡 수 있습니다. 이렇게 하면 인스턴스를 더 빠르게 만들 수 있습니다.

구문

HRESULT LockServer(
  [in] BOOL fLock
);

매개 변수

[in] fLock

TRUE이면 잠금 수가 증가합니다. FALSE이면 잠금 수가 감소합니다.

반환 값

이 메서드는 표준 반환 값 E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL 및 S_OK 반환할 수 있습니다.

설명

IClassFactory::LockServer 는 개체의 서버가 메모리에 유지되는지 여부를 제어합니다. 애플리케이션을 메모리에 활성 상태로 유지하면 인스턴스를 더 빠르게 만들 수 있습니다.

발신자에 대한 참고 사항

대부분의 클라이언트는 이 메서드를 호출할 필요가 없습니다. 개체의 여러 인스턴스를 만드는 데 특별한 성능이 필요한 클라이언트에 대해서만 제공됩니다.

구현자에 대한 참고 사항

잠금 수가 0이고 사용 중인 개체가 더 이상 없고 애플리케이션이 사용자 제어를 받지 않는 경우 서버를 닫을 수 있습니다. LockServer를 구현하는 한 가지 방법은 CoLockObjectExternal 함수를 호출하는 것입니다.

개체 애플리케이션을 잠그는 프로세스는 잠금 해제를 담당합니다. 클래스 개체가 해제된 후에는 클래스 개체가 일회용으로 등록된 경우와 같이 나중에 동일한 클래스에 대한 호출자 연결을 보장하는 메커니즘이 없습니다. 클래스 개체 또는 오류 결과에서 IClassFactory 인터페이스에 대한 포인터를 해제하기 전에 호출의 균형을 유지해야 하므로 LockServer에 대한 마지막 호출뿐만 아니라 모든 호출을 계산하는 것이 중요합니다. fLockTRUE로 설정된 LockServer에 대한 모든 호출의 경우 fLockFALSE로 설정된 LockServer에 대한 호출이 있어야 합니다. 잠금 수와 클래스 개체 참조 수가 모두 0이면 클래스 개체를 해제할 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 unknwnbase.h(Unknwn.h 포함)

추가 정보

CoLockObjectExternal

IClassFactory