DICTIONARY/1.0
辞書プラグインの実体は設定ファイル descript.txt と consult 関数をエクスポートする DLL ファイルの2つです。
・descript.txt
name,英和辞典 |
name エントリは辞書名です。ClipCommand の辞書引き機能において辞書名として使用されます。
dllname エントリはプラグインとなる dll のファイル名です。
・DLL
extern "C" __declspec(dllexport) HGLOBAL __cdecl getversion(long *len); |
DLL ロード直後、他の関数がインポートされる前にまずこの関数が呼ばれます。辞書検索プラグインは "DICTIONARY/1.0" という 14 バイトの文字列を返して下さい。
extern "C" __declspec(dllexport) HGLOBAL __cdecl consult(HGLOBAL h, long *len); |
引数には検索文字列が gmem_fixed で渡されます。len の値は文字列の長さになっています。文字列は NULL ターミネートされていないことに注意してください。
dll は検索文字列を辞書で引き、検索結果の文字列を gmem_fixed で返して下さい。len には検索結果文字列の長さを格納してください。
検索に失敗した場合はメモリをアロケートせずに 0 を返して下さい。
検索文字列が必要ない場合でも関数内で必ずハンドルを解放して下さい。
DLL ロード時およびアンロード時に以下の関数が呼ばれます。
extern "C" __declspec(dllexport) BOOL __cdecl load(HGLOBAL h, long len); |
load の第1引数に DLL のディレクトリパスが渡されます。len の値はパス文字列の長さになっています。文字列は NULL ターミネートされていないことに注意してください。
データファイル等を持つ場合はここからカレントディレクトリを取得し、そこにデータファイルを作って下さい(つまり自分のディレクトリ内で全てを収めて下さい)。
パス文字列が必要ない場合でも関数内で必ずハンドルを解放して下さい。
extern "C" __declspec(dllexport) BOOL __cdecl setproxy(HGLOBAL h, long len); |
consult 関数が呼ばれる前にこの関数が呼ばれます。len の値が 1 以上の場合、第1引数にプロクシ設定文字列が渡されます。len が 0 の場合はプロクシを使用しないことを示します。len が -1 の場合は IE の設定を使用することを示します。
文字列は NULL ターミネートされていないことに注意してください。また、len が 1 以上の場合は関数内で必ずハンドルを解放して下さい。