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 つのアンダースコアを含めることができます。
パラメーター リストは、次のコンマ区切りのリストです。
[属性]
型には、以前に宣言した任意の型または組み込み型、任意の型へのポインター、または組み込み型へのポインターを指定できます。 パラメーターの属性は次のとおりです。
[省略可能] を使用する場合、これらのパラメーターの型は 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);
};