我在cpp中创建了一个.dll文件来访问I / O端口并写入它们。为此,我从我的c#控制台应用程序调用这个.dll但是当我尝试运行它时,我得到“SEHException was未处理的异常。你有什么想法吗?
这是c#:
[DllImport("testlib.dll")]
public static extern void enableWatchDog();
static void Main(string[] args)
{
enableWatchDog();
}
这是cpp(创建.dll):
extern "C" __declspec(dllexport) void enableWatchDog() {
_asm {
mov al, 41
out 66, al
mov al, 4
out 62, al
}
}
答案 0 :(得分:2)
您无法直接从Windows中的用户模式应用程序访问任意I / O端口。您需要使用特殊的内核模式驱动程序。