次の方法で共有


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

無効な属性

なし

属性コンテキストの詳細については、「属性コンテキスト」を参照してください。

参照

概念

IDL 属性

インターフェイス属性

ATL サンプル