仕事でC++で書かれたdllをC#で初めて使用したので、忘却録としてまとめる
開発環境
PC:windows10 pro
IDE:Visual Studio 2010
C#コード(呼び出し側)
hoge.cs
using System.Runtime.InteropServices; ←追加
namespace hogehoge
{
public class hogeClass
{
[DllImport(“Library.dll”)]
private static extern IntPtr hoge()
・・・・・
}
}
〇DllImportで、使用したいdllをimport
DllImportを使用する為にSystem.Runtime.InteropServicesを追加する
使用したい関数の修飾子はstatic externにする
型はdll側に合わせて書く
例では、IntPtrとなっている。これはdll側がbyte型のポインタになっているため
※今回はdllから1つの関数しか呼び出していないが、複数呼び出す時は、関数ごとに[DllImport(“hoge.dll”)]を書く必要がある。