idl_module
.dll ファイルのエントリ ポイントを指定します。
[ idl_module (
name=module_name,
dllname=dll,
uuid="uuid",
helpstring="help text",
helpstringcontext=helpcontextID,
helpcontext=helpcontext,
hidden,
restricted
) ]
function declaration
パラメータ
name
.idl ファイルに表示されるコード ブロックのユーザー定義名。dllname (省略可能)
エクスポートを含む .dll ファイル。uuid (省略可能)
一意の ID。helpstring (省略可能)
タイプ ライブラリの記述に使用する文字列。helpstringcontext (省略可能)
.hlp ファイルまたは .chm ファイルのヘルプ トピックの ID。helpcontext (省略可能)
このタイプ ライブラリのヘルプ ID。hidden (省略可能)
ライブラリを非表示にするパラメータ。詳細については、MIDL 属性 hidden を参照してください。restricted (省略可能)
ライブラリのメンバを任意に呼び出すことができないように指定します。詳細については、MIDL 属性 restricted を参照してください。function declaration
定義する関数。
解説
C++ 属性 idl_module を設定すると、.dll ファイルにエントリ ポイントを指定して .dll ファイルからインポートできるようになります。
属性 idl_module の機能は、Microsoft インターフェイス定義言語 (MIDL: Microsoft Interface Definition Language) 属性 module と同じです。
.idl ファイルのライブラリ ブロックに DLL エントリ ポイントを配置すると、.dll ファイルからエクスポートできる項目を COM オブジェクトからもエクスポートできます。
idl_module を使用するには、次の 2 つの手順に従います。まず、名前と DLL の組を定義します。次に、idl_module を使用してエントリ ポイントを指定するときに、名前と任意の追加属性を指定します。
使用例
属性 idl_module の使用例を次のコードに示します。
// cpp_attr_ref_idl_module.cpp
// compile with: /LD
[idl_quote("midl_pragma warning(disable:2461)")];
[module(name="MyLibrary"), idl_module(name="MyLib", dllname="xxx.dll")];
[idl_module(name="MyLib"), entry(4), usesgetlasterror]
void FuncName(int i);
必要条件
属性コンテキスト
対象 |
任意 |
複数回の適用 |
不可 |
必要な属性 |
なし |
無効な属性 |
なし |
詳細については、「属性コンテキスト」を参照してください。