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 を実装する方法の 1 つは、CoLockObjectExternal 関数を呼び出す方法です。オブジェクト アプリケーションをロックするプロセスは、ロック解除を担当します。 クラス オブジェクトが解放された後、後で同じクラスへの呼び出し元の接続を保証するメカニズムはありません (クラス オブジェクトが単一使用として登録されている場合と同様)。 クラス オブジェクトの IClassFactory インターフェイスへのポインターを解放する前に呼び出しのバランスを取る必要があるため、LockServer への最後の呼び出しだけでなく、すべての呼び出しをカウントすることが重要です。 fLock が TRUE に設定されている LockServer を呼び出すたびに、fLock が FALSE に設定された LockServer の呼び出しが必要です。 ロック数とクラス オブジェクト参照カウントの両方が 0 の場合、クラス オブジェクトを解放できます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | unknwnbase.h (Unknwn.h を含む) |