C#에서 외부 DLL을 호출해야합니다. 내가 열거 형 및 C#에서 호출을 추가 한P/Invoke를 올바르게 사용하기
enum WatchMode {
WATCH_MODE_SYSTEM = 0,
WATCH_MODE_APPLICATION = 1 };
LONG ADS_API WDT_GetMode (LONG i_hHandle, WatchMode * o_pWatchMode);
:
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를 생성이 헤더 정의입니다. 위에서 언급 한 hHandle
을 반환하는 GetHandle
에 대한 호출을 추가 했으므로 dll이 '작동 중'이라는 것을 알고 있습니다. param을 int
(ref int watchmode
)으로 변경하려고했지만 동일한 오류가 발생합니다. 아무도 내가 위의 전화를 PInvoke 수있는 방법을 알고 있습니까?