次の方法で共有


PROP_ENTRY_INTERFACE_EX

オブジェクトが複数のディスパッチ インターフェイスをサポートする場合に、特定の IID を指定できます。PROP_ENTRY_INTERFACE に似ています。

PROP_ENTRY_INTERFACE_EX(
   szDesc,
   dispid,
   clsid,
   iidDispatch,
   rgclsidAllowed,
   cclsidAllowed,
   vt
)

パラメーター

  • [入力] szDesc
    プロパティの説明。

  • [入力] dispid
    プロパティの DISPID。

  • [入力] clsid
    関連付けられたプロパティ ページの CLSID。関連付けられたプロパティ ページを持たないプロパティの場合には、特別な値 CLSID_NULL を使用します。

  • [入力] iidDispatch
    プロパティを定義するディスパッチ インターフェイスの IID。

  • [入力] rgclsidAllowed
    読み込むことができる CLSID の配列。安定性を得るため、const 配列を使用します。

  • [入力] cclsidAllowed
    rgclsidAllowed にある要素の数。

  • [入力] vt
    プロパティの型。

解説

このマクロを含めることで、アプリケーションが IPersistStreamInitImpl::Load プロセスをより詳細に制御できるようにします。このマクロは、IPersistStreamInitImpl が基本クラスであり、そのクラスが初期化しても問題がないとアドバタイズされている場合にのみ使用されます。それ以外の場合、このマクロは使用しないでください。

ほとんどの場合、cclsidAllowed は、_countof(rgclsidAllowed) によって確認できます。

このマクロは、vt が VT_DISPATCH または VT_UNKNOWN の場合にのみ有効です。vt の別の値をこのマクロに渡すと、コンパイル エラーが発生します。vt のそれ以外の値では、PROP_ENTRY_TYPE_EX を使用します。

BEGIN_PROP_MAP マクロと END_PROP_MAP マクロは、プロパティ マップの開始位置と終了位置をそれぞれ示します。

初期化する必要がある Web コントロールを作成する場合は、IPersistStreamInitImpl の代わりに IPersistPropertyBagImpl クラス を使用してプロパティを初期化します。IPersistStreamInitImpl は、バイナリ形式の場合、IPersistPropertyBagImpl に比べて大きなリスクを伴います。

必要条件

ヘッダー: atlcom.h

参照

関連項目

PROP_ENTRY_INTERFACE

PROP_ENTRY_INTERFACE_CALLBACK

PROP_ENTRY_INTERFACE_CALLBACK_EX

PROP_ENTRY_TYPE

PROP_ENTRY_TYPE_EX

その他の技術情報

ATL マクロ リファレンス (アルファベット順)