DLL

最終変更:

前書

ここでは、SHIORI、SAORI、MAKOTO、PLUGIN、HEADLINE等各サブシステムのコアとなる、DLLファイルに要求される仕様をまとめています。

エクスポート関数群

以下C言語での例

☆Borland系C/C++コンパイラでは_loadのように頭にアンダースコアがつくようですがそちらにも対応した方が良いでしょう。

load

読み込み時にコールされます。HGLOBALにDLLの入るディレクトリのパスが入ります。
GlobalAlloc(GMEM_FIXED,xxx) されたものなのでそのままポインタ(char *)にキャストして利用してください。
また、必ずDLL側でGlobalFreeしてください。

返り値は常にtrueです。
規定ではロード失敗時にfalseですが、falseを返しても何も処理されません。

unload

DLL開放直前(=SSP/CROW終了時+上書きインストール時、DLL_PROCESS_DETACH前)にコールされます。

返り値は常にtrueです。
規定では開放失敗時にfalseですが、falseを返しても無視されます。

request

ロード・アンロード以外の処理はすべてここで行われます。
注意事項はloadと同じです。

返り値はこのDLLが実装するサブシステム(SHIORI,SAORI,PLUGIN,...)の種類によります。
レスポンス用の返り値HGLOBALも、GlobalAlloc(GMEM_FIXED,xxx)で確保されたものにしてください。