我可以像这样简单地在Ubuntu中使用D访问并行端口。
import std.stdio;
import core.bitop;
// parallel port address
const uint port = 0x0c000;
void main()
{
/*
permission related stuff under linux
*/
/* data */
ubyte data = 0b_11111111;
outp(port, data);
}
但我想读取并写入Windows上的并行端口。当我尝试此代码时,我收到此错误消息。
object.Error: Privileged Instruction
----------------
41377C
4135F3
4025BC
4021B3
4BD6F9
1553C6
----------------
有没有一种简单的方法可以使用D访问Windows上的并行端口?感谢..
答案 0 :(得分:3)
Windows不授予用户模式程序直接硬件访问权限。您需要编写一个驱动程序(.sys文件),最有可能是在C中(使用WINDDK)。您还需要购买代码签名证书,以允许您的驱动程序在64位Windows版本上运行(或禁用驱动程序签名,如果您只需要在计算机上运行它)。