3


0

私はいくつかの "データベース" / XMLフォーマットでwin32 APIのリストを探しています。

私はwin32 APIと私が使っている高級言語(harbour / xharbour)の間に "変換層"を簡単に作成する必要があります。 これはPcodeを実行するので、パラメータをC標準に変換する必要があります。

手動でコードを書くのではなく、プロセスを自動化したいのですが…

たとえば、Windows API定義(MSDNから取得)

DWORD WINAPI GetSysColor(__in int nIndex);

に変換する必要があります

HB_FUNC(GETSYSCOLOR){hb_retnl((LONG)GetSysColor(hb_parni(1))); }

4 Answer


1


私の知る限り、pinvoke.netは呼び出しのPInvoke定義のあるテキストデータのみを保存しています。 あなたが欲しいものが事前に解析されたAPIのデータベースとして使われるものであるならばあまり役に立ちません。

おそらく、インクルードファイルを受け取ってそれを必要なものに変換する小さなパーサーを作成することができます。 その場合、私は lcc-win32のインクルードファイルを使用することをお勧めします。 SDKヘッダー(無視しなければならない特別な予約語などは付属していません)


1


もちろん、あなたはMicrosoft Platform SDKを持っています、しかしそれは生の.h Cコードの中にあるので、パースするのは難しいです!

同様の作業がVBユーザー(およびDelphiユーザー、そしておそらく他のいくつかの言語)によっても行われています。例えば ApiViewerはそのようなデータベースを持っていますが独自のバイナリフォーマット(.apv拡張子)なので、リバースエンジニアリングする必要があるかもしれません。 同様に、Allapi.netでホストされていたAPIガイドがありますが、後者は現在駐車場のようです。 それは.apiファイルを使用しました(これもバイナリ専用)。


0


私が知っている最も近いことについては次のとおりです。http://pinvoke.net/たぶん彼らはあなたと彼らのデータを共有するでしょうか? 彼らはこのデータにアクセスするVSツールを持っているので、それはウェブサービスかもしれません。 あなたもそれを嗅ぐことができるかもしれません。


0


次の場所にデータベース(およびそれを使用するためのアプリケーション " PInvoke Interop Assistant")があるようです。

私は今のところライセンスが何であるかわからないが - したがって 私は作者に依頼しました