module 属性

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

[
    attributes
]
module modulename 
{
    elementlist
};

パラメーター

attributes

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

modulename

モジュールの名前です。

elementlist

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

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

[属性]const constanttype constnameconstval = ;

const には、[helpstring] 属性と [helpcontext] 属性のみが受け入れられます。

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

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

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

[属性]

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

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

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

解説

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