JRE32.DLL互換API(Ver5.34対応版)
山田和夫さん作のJRE32.DLLと互換性のある(と思われる)、以下のAPIをサポートしています。
Jre2Open
Jre2Compile
Jre2GetMatchInfo
Jre2Close
JreGetVersion
GetJreMessage
DecodeEscSeq
上記APIについては、たぶんJRE32.DLLと互換性がありますが、JRE2構造体中のメンバーはうちのDLLでまったく別の目的に使っています。
なので、JRE32.DLLとHmJre.dllを混ぜて呼び出したりしないでください。例えばJRE32.DLLのJre2Open関数で呼び出し初期化したJRE2構造体をHmJre.dll側に渡したりしないでください。
JreGetVersion関数の返す値は、HmJre.dll独自のバージョン番号となります。
JRE32.DLLについては、たぶん以下のURLを参照すればいいと思います。
http://www.yamada-labs.com/software/spec/jre/
- HmJre.dll独自の拡張
-
V1.12以下では、Jre2SetCodePageという関数だけが独自に追加されてましたが、V1.67ではさらに多くの独自拡張がなされています。それらを説明します。
- extern "C" BOOL WINAPI Jre2SetCodePage( LPJRE2 pJre, UINT cp );
-
検索文字列および検索対象文字列のコードページを指定します。コードページにはCP_UTF8は指定できません。
文字コードの違う文字列について検索を実行する時は、Jre2Open関数を呼び出した次にこの関数を呼んでください。この関数を呼んでからJre2Compile/Jre2GetMatchInfo等を呼び出してください。
返り値は現在の所、常にTRUEとなっています。
- extern "C" BOOL FAR PASCAL Jre2GetMatchInfo_HmJre( LPJRE2 pJre, LPSTR pszTarget, int xEnd )
-
Jre2GetMatchInfo_HmJre関数は、pszTargetで示される検索対象文字列の長さをパラメータで指定する以外は、Jre2GetMatchInfo関数と同じです。
検索対象文字列の長さがあらかじめ分かっている場合には、こちらの関数を使った方が高速に動作します。例えば同一文字列に対して何回も検索を実行する場合にも、あらかじめstrlen関数で文字列の長さを計算しておいて、こちらの関数を呼んだ方が高速になります。