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_CALLBACK_EX