0

COMの場合と同じように、プレーンなWin32.dllでタイプと詳細を取得したいと思います。COMでは、idl内に埋め込まれたものはすべてTLBになり、MSFTは型を抽出できるAPIを公開します。

Win32で定義されているタイプと、そのタイプに関するすべての詳細(たとえば、メンバーとそのタイプ)が必要です。PEファイルを解析してエクスポートされたテーブルを検索すると、エクスポートされた関数のみが表示されます。すべてのカスタムタイプ(Win32インターフェイス、クラス、およびタイプを含むメンバーの詳細)を定義する必要があります。

4

1 に答える 1

1

まず、 pinvoke.netに問題のWin32APIの定義があるかどうかを試してください。その場合は、ソースコードにコピーして貼り付けます。利用できない場合は、既存のdefitionsとMSDNドキュメントおよびSDKヘッダーファイルを使用して、正しいメソッド署名とデータ構造を手作りできます。

もう1つのオプションは、ネイティブCLRの混合アセンブリを作成できるC++CLIを導入することです。CLIプロジェクトは、ネイティブC++プロジェクトと同じようにWin32APIを使用して、他のアセンブリ用のより高いレベルの.Netインターフェイスを表示できます。

于 2010-06-10T07:29:46.433 に答える