iClassFactory::LockServer 方法 (unknwnbase.h)

鎖定在記憶體中開啟的物件應用程式。 這可讓實例更快速地建立。

語法

HRESULT LockServer(
  [in] BOOL fLock
);

參數

[in] fLock

如果 為 TRUE,則遞增鎖定計數;如果 為 FALSE,則會遞減鎖定計數。

傳回值

這個方法可以傳回標準傳回值E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL和S_OK。

備註

IClassFactory::LockServer 控制物件的伺服器是否保留在記憶體中。 讓應用程式在記憶體中保持運作,可讓實例更快速地建立。

來電者附注

大部分的用戶端不需要呼叫這個方法。 它只會提供給需要特殊效能的用戶端,以建立其 物件的多個實例。

實作者的注意事項

如果鎖定計數為零,則沒有任何物件正在使用中,而且應用程式不在使用者控制之下,可以關閉伺服器。 實作 LockServer 的其中一種方式是呼叫 CoLockObjectExternal 函式

鎖定物件應用程式的程式會負責解除鎖定它。 釋放類別物件之後,沒有任何機制可保證呼叫端與稍後相同類別的連線 (,如同在類別物件註冊為單一使用) 的情況下。 請務必計算 LockServer的所有呼叫,而不只是最後一個呼叫,因為在嘗試釋放類別物件上 IClassFactory 介面的指標或錯誤結果之前,必須先平衡呼叫。 針對將fLock設定為TRUE的每個LockServer呼叫,都必須呼叫LockServer並將 fLock設定為FALSE。 當鎖定計數和類別物件參考計數都是零時,可以釋放類別物件。

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 unknwnbase.h (包含 Unknwn.h)

另請參閱

CoLockObjectExternal

IClassFactory