2008年8月9日
P/Invokeをお便利に?
ここのところ、C#でコードを書くことが多くなってきてます。
マネージドコードだけで書ければ、それが一番幸せなのですが…残念ながら、現状では動的ライブラリ(DLL)内のネイティブコードを呼び出さないとどうしょうもない壁に結構ぶちあたります
そんな時に使うのが、P/Invoke(Platform Invoke、プラットフォーム呼び出し)なんですが…結構、面倒臭いんですね~コレが。
まぁ、pinvoke.netで調べるのが王道なんですかね
ブラウザでpinvoke.netにアクセスして、検索とかで調べて~コードをコピペするという結構面倒な手間を楽にしてくれるのが…Red Gate Softwareが提供してくれているVisual Studio内から、直接pinvoke.netへアクセスできるようにしてくれるVSアドオンです
このアドオンは、メールアドレスなどの登録は必要ですが…試用期限もなくフリーで利用できます。
VSのメニューから以下のようなダイアログを呼び出し、検索して即コードを挿入できるので非常に快適になります。

あと、ローカルで動作するPInvoke Interop Assistantというツールもなかなかお薦めです
大きく3つの機能を持っていて、それぞれ以下のような感じで使えます。

EXEやDLLを開いて、その中で使われているアンマネージ・シグネチャの一覧が表示できます

定数やAPIを検索して、P/Invoke用のコードを表示できます

P/Invokeしたいネイティブコードから、P/Invoke用のコードを表示できます
TrackBack URL :
