次の方法で共有


ObjectControl::CanBePooled メソッド (comsvcs.h)

非アクティブ化時に再利用するためにオブジェクトをプールできるかどうかを示します。

構文

HRESULT CanBePooled(
  [out] VARIANT_BOOL *pbPoolable
);

パラメーター

[out] pbPoolable

COM+ ランタイム環境で、後で再利用するために非アクティブ化時にこのオブジェクトをプールできるかどうかを示します。

戻り値

このメソッドは、標準の戻り値E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL、およびS_OKを返すことができます。

解説

オブジェクトが CanBePooled から TRUE を返すと、破棄されるのではなく、非アクティブ化後にオブジェクト プールに追加できることを COM+ ランタイム環境に示します。 インスタンスが必要な場合は常に、作成されるのではなくプールから描画されます。

CanBePooled から TRUE を返しても、オブジェクトがリサイクルされる保証はありません。これは、COM+ ランタイム環境に、それらをリサイクルするアクセス許可のみを付与します。 CanBePooled メソッドから FALSE を返す場合、コンポーネントのインスタンスがリサイクルされないことが保証されます。

Activate メソッドは、新しいインスタンスが作成された場合、またはリサイクルされたインスタンスがプールから描画された場合に呼び出されます。 同様に、 非アクティブ化 メソッドは、オブジェクトが破棄されるか、リサイクルのためにプールに返されるかに関係なく、非アクティブ化されるたびに呼び出されます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー comsvcs.h

関連項目

COM+ オブジェクト プール

オブジェクト プールのしくみ

ObjectControl

プール可能オブジェクトの要件