Frameworkマクロは引数にXXX_t()修飾子を用いて呼び出します。この修飾子を用いることにより変数/実数/文字列を分けて処理します。
| 名前 | 説明 |
|---|---|
| bool_t | 引数はブール代数であることを明示します。 |
| float_t | 引数は32bit浮動少数点であることを明示します。 |
| handle_t | 引数はハンドルであることを明示します。 |
| int_t | 引数は32bit符号付整数であることを明示します。 |
| ptr_t | 引数は32bitポインタであることを明示します。 |
| str_t | 引数は文字列ポインタであることを明示します。指定した文字列はバッファにコピーされます。なおHSP側の制限により256文字以上を使用できません。256文字以上使用する場合は変数に格納してvar_tで渡してください。 |
| val_t | 引数は変数であることを明示ます。変数はポインタに変換されます。 |
| var_t |
例えばbool func( int, int* );のような関数を呼び出す場合、func int_t(1), val_t(v)となります。このXXX_tは実行時に翻訳されますので、val_t(v)をptr_t(null)にかえ、nullを渡すような柔軟な記述が可能です。
ただ、これは逆に言えばFrameworkマクロの引数はマクロ開発者ではなく、プログラマが責任を持つということなので呼び出す際の引数には注意が必要です。
関数の戻り値はiResultに返ります。これはモジュール内外とわずiResultでアクセスできます。
関数によってはエラー情報をGetLastError()で取得するものがあります。これはShowAPIErrorメソッドでテキストに直し表示します。これはデバック専用メソッドであり、リリースモードでは動作しません。