module 属性

module ステートメントは、関数のグループ (通常は DLL エントリ ポイントのセット) を定義します。

[
    attributes
]
module modulename 
{
    elementlist
};

パラメーター

attributes

[uuid]、[version]、[helpstring]、[helpcontext]、[hidden]、および [dllname] 属性は、 モジュール ステートメントの前に受け入れられます。 モジュール定義の前に受け入れられる属性の詳細については、「OLE オートメーション」の「属性の 説明」を参照してください。 [dllname] 属性が必要です。 [uuid] 属性を省略した場合、モジュールはシステムで一意に指定されません。

modulename

モジュールの名前です。

elementlist

DLL 内の各関数の定数定義と関数プロトタイプの一覧。 関数の一覧には、任意の数の関数定義を表示できます。 関数一覧の関数の形式は次のとおりです。

[属性] returntype [呼び出し規約 funcname](params);

[属性] const constanttype constname = constval;

const に対して受け入れられるのは、[helpstring] 属性と [helpcontext] 属性のみです。

モジュール内の関数では、次の属性が受け入れられます: [helpstring]、[helpcontext]、[string]、[entry]、[propget]、[propput]、[propputref]、および [vararg]。 [vararg] を指定する場合、最後のパラメーターは VARIANT 型の安全な配列である必要があります。

省略可能な呼び出し規則には、__pascal/_pascal/pascal、__cdecl/_cdecl/cdecl、または __stdcall/_stdcall/stdcall のいずれかを指定できます。 呼び出し規約の型 paramname には、先頭に最大 2 つのアンダースコアを含めることができます。

パラメーター リストは、次のコンマ区切りのリストです。

[属性]

型には、以前に宣言した任意の型または組み込み型、任意の型へのポインター、または組み込み型へのポインターを指定できます。 パラメーターの属性は次のとおりです。

[入力]、[out]、[省略可能]。

[省略可能] を使用する場合、これらのパラメーターの型は VARIANT または VARIANT* である必要があります。

解説

モジュールのヘッダー ファイル (.h) 出力は、一連の関数プロトタイプです。 モジュールキーワード (keyword)と周囲の角かっこはヘッダー (.h) ファイル出力から削除されますが、プロトタイプの前にコメント (// モジュールモジュール名) が挿入されます。 キーワード (keyword) extern は、宣言の前に挿入されます。

[
    uuid(12345678-1234-1234-1234-123456789ABC), 
    helpstring("This is not GDI.EXE"), 
    helpcontext(190), 
    dllname("MATH.DLL")
] 
module somemodule
{ 
    [helpstring("Color for the frame")] 
            unsigned long const COLOR_FRAME = 0xH80000006; 
    [helpstring("Not a rectangle but a square"), 
     entry(1)] 
            pascal double square([in] double x); 
};

関連項目

const

タイプ ライブラリの内容

dllname

エントリ

MIDL を使用したタイプ ライブラリの生成

helpcontext

helpstring

隠さ れた

ODL ファイルの構文

propget

propput

propputref

文字列

TYPEFLAGS

uuid

vararg

version