C# から外部 dll を呼び出す必要があります。これはヘッダー定義です:
enum WatchMode {
WATCH_MODE_SYSTEM = 0,
WATCH_MODE_APPLICATION = 1 };
LONG ADS_API WDT_GetMode ( LONG i_hHandle, WatchMode * o_pWatchMode );
C# で列挙型と呼び出しを追加しました。
public enum WatchMode
{
WATCH_MODE_SYSTEM = 0,
WATCH_MODE_APPLICATION = 1
}
[DllImport("AdsWatchdog.dll")]
internal static extern long WDT_GetMode(long hHandle, ref WatchMode watchmode);
これにより、AccessViolationException が生成されます。上記GetHandle
を返す呼び出しも追加したため、dllが「機能している」ことはわかっています。パラメータを( )hHandle
に変更しようとしましたが、同じエラーが発生します。上記の呼び出しを PInvoke する方法を知っている人はいますか?int
ref int watchmode