nonextensible
IDispatch の実装に、インターフェイスの記述に含まれているプロパティおよびメソッドだけが含まれるようにして、実行時にメンバを追加して拡張できないように指定します。
[nonextensible]
解説
C++ 属性 nonextensible の機能は、Microsoft インターフェイス定義言語 (MIDL: Microsoft Interface Definition Language) 属性 nonextensible と同じです。
nonextensible を使用する場合は、属性 oleautomation も一緒に使用する必要があります。
使用例
属性 nonextensible の使用例を次のコードに示します。
// cpp_attr_ref_nonextensible.cpp
// compile with: /LD
#include "unknwn.h"
[module(name="ATLFIRELib")];
[export] typedef long HRESULT;
[dual, nonextensible, ms_union, oleautomation,
uuid("00000000-0000-0000-0000-000000000001")]
__interface IFireTabCtrl
{
HRESULT procedure (int i);
};
必要条件
属性コンテキスト
対象 |
interface |
複数回の適用 |
不可 |
必要な属性 |
dual および oleautomation、または dispinterface |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。