D访问Windows下的并行端口

时间:2012-07-09 07:24:57

标签: windows-7 d parallel-port

我可以像这样简单地在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上的并行端口?感谢..

1 个答案:

答案 0 :(得分:3)

Windows不授予用户模式程序直接硬件访问权限。您需要编写一个驱动程序(.sys文件),最有可能是在C中(使用WINDDK)。您还需要购买代码签名证书,以允许您的驱动程序在64位Windows版本上运行(或禁用驱动程序签名,如果您只需要在计算机上运行它)。