次の方法で共有


ISharedPropertyGroupManager::CreatePropertyGroup メソッド (comsvcs.h)

新しい共有プロパティ グループを作成します。 指定した名前のプロパティ グループが既に存在する場合、 CreatePropertyGroup は既存のグループへの参照を返します。

構文

HRESULT CreatePropertyGroup(
  [in]      BSTR                 Name,
  [in, out] LONG                 *dwIsoMode,
  [in, out] LONG                 *dwRelMode,
  [out]     VARIANT_BOOL         *fExists,
  [out]     ISharedPropertyGroup **ppGroup
);

パラメーター

[in] Name

作成する共有プロパティ グループの名前。

[in, out] dwIsoMode

新しい共有プロパティ グループ内のプロパティの分離モード。 以下の「解説」の定数の表を参照してください。 fExists パラメーターの値がこのメソッドからの戻り値VARIANT_TRUEに設定されている場合、入力値は無視され、このパラメーターで返される値は、プロパティ グループの作成時に割り当てられた分離モードです。

[in, out] dwRelMode

新しい共有プロパティ グループ内のプロパティのリリース モード。 以下の「解説」の定数の表を参照してください。 fExists パラメーターの値がこのメソッドからの戻り値VARIANT_TRUEに設定されている場合、入力値は無視され、このパラメーターで返される値は、プロパティ グループの作成時に割り当てられたリリース モードです。

[out] fExists

この呼び出しの前に name パラメーターで指定された共有プロパティ グループが存在し、この呼び出しによってプロパティ グループが作成された場合はVARIANT_FALSE場合は、このメソッドからの戻り時にVARIANT_TRUEします。

[out] ppGroup

Name パラメーターで識別される共有プロパティ グループである ISharedPropertyGroup への参照。エラーが発生した場合は NULL

戻り値

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

リターン コード 説明
S_OK
Name パラメーターで指定された共有プロパティ グループへの参照は、ppGroup パラメーターで返されます。
CONTEXT_E_NOCONTEXT
呼び出し元が COM+ で実行されていません。 共有プロパティ マネージャーを使用するには、呼び出し元が COM+ で実行されている必要があります。
E_INVALIDARG
少なくとも 1 つのパラメーターが無効であるか、同じオブジェクトが同じプロパティ グループを複数回作成しようとしています。

注釈

共有プロパティ グループの有効な分離モードを指定するには、次の定数を使用します。

定数 説明
LockSetGet 0 既定値。 これは、呼び出し中に プロパティをロックすることで、共有プロパティに対するすべての取得操作または設定操作がアトミックであることを保証します。 これにより、2 つのクライアントが同じプロパティに対して同時に読み取りまたは書き込みを行うことができなくなりますが、他のクライアントが同じグループ内の他のプロパティに同時にアクセスすることを防ぐことはできません。
LockMethod 1 この値は、呼び出し元の現在のメソッドが実行されている限り、呼び出し元が排他的に使用するために共有プロパティ グループ内のすべてのプロパティをロックします。 これは、プロパティ間に相互依存関係がある場合や、プロパティを読み取った直後にクライアントがプロパティに再度アクセスする必要がある場合に使用する適切なモードです。
 
メモ 分離モードを LockMethod に設定すると、共有プロパティ マネージャーは呼び出し元オブジェクトのオブジェクト コンテキストにアクセスする必要があります。 オブジェクトの構築中にオブジェクト コンテキストを使用できず、ベース クライアントにオブジェクト コンテキストがないため、この分離モードを使用して、オブジェクトのコンストラクター内または COM+ 以外のオブジェクトから共有プロパティ グループを作成することはできません。
 
共有プロパティ グループの有効なリリース モードを指定するには、次の定数を使用します。
定数 説明
Standard 0 既定値。 すべてのクライアントがプロパティ グループ上の参照を解放すると、プロパティ グループは自動的に破棄されます。
Process 1 プロパティ グループは、その作成プロセスが終了するまでは破棄されません。 プロパティ グループの参照を保持するオブジェクトは、引き続き参照に対して Release を 呼び出す必要があります。
 
メモ オブジェクトは、共有プロパティ グループ参照を別のオブジェクトに渡そうとしないでください。 参照を取得したオブジェクトの外部に参照が渡された場合は、有効な参照ではなくなります。
 

要件

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

こちらもご覧ください

ISharedPropertyGroupManager