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関数で文字列の長さを計算しておいて、こちらの関数を呼んだ方が高速になります。