質問: お世話になります。 Cで作ったDLLをC#で使用についてお聞きしたいです。 DLL側にて int hoge(char *str[]) という関数を用意しています。 C#にて [System.Runtime.InteropServices.DllImport("hoge.dll")] unsafe static extern int hoge(char *str[]); とDLLの関数の呼び出しを行いましたがうまくいきません。 そこでC側で文字列のポインタを使った関数をC#側にて どのようにして呼び出せば良いか教えていただきたいです。 お手数ですが、何卒宜しくお願いいたします。 追記1 KoichiSugiyamaさん ご指摘ありがとうございます。 開発環境・エラー等を追記します。 開発環境 Microsoft Visual Studio 2010 Version 10.0.40219.1 SP1Rel Microsoft .NET Framework Version 4.5.51209 SP1Rel インストールされているバージョン: Professional Microsoft Visual C# 2010 VisualStudioでのエラーメッセージ 「エラー 1 配列型の指定子の角かっこ、[]、は、パラメーター名の前に使用してください。ファイルパス」 当方C#の初心者のため根本的な勘違いをしているのではないかと考えています。
回答: CallingConvention 列挙体.aspx) を使用してください。 おそらくは ThisCall だと思いますが、違ったら Cdecl Stdcall の順に試してみてください。