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) |