Freigeben über


IClassFactory::LockServer-Methode (unknwn.h)

Sperrt eine im Arbeitsspeicher geöffnete Objektanwendung. Dadurch können Instanzen schneller erstellt werden.

Syntax

HRESULT LockServer(
  [in] BOOL fLock
);

Parameter

[in] fLock

Wenn TRUE, inkrementiert die Sperranzahl; wenn FALSE, verringert die Sperranzahl.

Rückgabewert

Diese Methode kann die Standardrückgabewerte E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL und S_OK zurückgeben.

Hinweise

IClassFactory::LockServer steuert, ob der Server eines Objekts im Arbeitsspeicher gehalten wird. Wenn die Anwendung im Arbeitsspeicher aktiv bleibt, können Instanzen schneller erstellt werden.

Hinweise für Anrufer

Die meisten Clients müssen diese Methode nicht aufrufen. Sie wird nur für Clients bereitgestellt, die eine besondere Leistung beim Erstellen mehrerer Instanzen ihrer Objekte erfordern.

Hinweise für Implementierer

Wenn die Sperranzahl 0 ist, keine weiteren Objekte verwendet werden und die Anwendung nicht unter Benutzerkontrolle steht, kann der Server geschlossen werden. Eine Möglichkeit zum Implementieren von LockServer besteht darin, die CoLockObjectExternal-Funktion aufzurufen.

Der Prozess, der die Objektanwendung sperrt, ist für die Entsperrung verantwortlich. Nachdem das Klassenobjekt freigegeben wurde, gibt es keinen Mechanismus, der die Aufruferverbindung mit derselben Klasse später garantiert (wie bei der Registrierung eines Klassenobjekts als einmalige Verwendung). Es ist wichtig, alle Aufrufe, nicht nur den letzten, für LockServer zu zählen, da Aufrufe ausgeglichen werden müssen, bevor versucht wird, den Zeiger auf die IClassFactory-Schnittstelle für das Klassenobjekt freizugeben, oder es tritt ein Fehler auf. Für jeden Aufruf von LockServer , bei dem fLock auf TRUE festgelegt ist, muss lockServer aufgerufen werden, wobei fLock auf FALSE festgelegt ist. Wenn die Sperranzahl und die Anzahl der Klassenobjektverweis 0 (null) sind, kann das Klassenobjekt freigegeben werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile unknwn.h (include Unknwn.h)

Weitere Informationen

CoLockObjectExternal

IClassFactory