DLL 関数は C で記述されているため、これらの関数に渡す引数には適切な C データ型を指定する必要があります。 次のデータ型がサポートされます。
-
- 次のデータ型を持つ引数または戻り値には、このデータ型を使用します。
- int
- INT
- long
- LONG
- DWORD
- BOOL
- WPARAM
- HWND
の 型は、4 バイト値を持つすべての DLL 引数に対して有効です。
-
- C データ型 long および int64 を持つ引数または戻り値には、このデータ型を使用します。 の 型は、8 バイト値を持つすべての DLL 引数に対して有効です。
-
- C データ型 short および WORD を持つ引数または戻り値には、このデータ型を使用します。 の 型は、2 バイト値を持つすべての DLL 引数に対して有効です。
-
- C データ型 bool を持つ引数または戻り値には、このデータ型を使用します。
- String
- C で String となる引数または戻り値には、このデータ型を使用します。
-
- C データ型 double を持つ引数または戻り値には、このデータ型を使用します。
-
- C データ型 RECT を持つ引数には、このデータ型を使用します。 は戻り値として使用できません。
-
- C データ型 POINT を持つ引数には、このデータ型を使用します。 POINT は戻り値として使用できません。
-
- C データ型 HWND を持つ引数には、このデータ型を使用します。 TestObject は戻り値として使用できませんが、戻り値型として Integer を持つ HWND を戻す DLL 関数を宣言できます。
注: 渡された TestObject は インターフェイスを実装して、DLL 関数に渡される TestObject のウィンドウ ハンドルを Silk4NET が 判別できるようにする必要があります。 そうしないと、この DLL 関数を呼び出すときに、例外がスローされます。
- List
- ユーザー定義の C 構造体の配列には、このデータ型を使用します。 List は戻り値として使用できません。
注: List をパラメーターとして使用する場合は、渡されるリストに、戻される内容を保持できるだけのサイズを確保する必要があります。
注: C 構造体は List で表すことができます。この場合、すべてのリスト要素は構造体のメンバに対応しています。 最初の構造体メンバは、リスト内の最初の要素で表されます。2 番目の構造体メンバは、リスト内の 2 番目の要素で表されます (以下同様)。
注: DLL 関数に渡す引数の前には、いずれかの データ型を配置する必要があります。