2

このように、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 のパラレル ポートにアクセスする簡単な方法はありますか? ありがとう..

4

1 に答える 1

3

Windows は、ユーザー モード プログラムにハードウェアへの直接アクセスを許可しません。ドライバー (.sys ファイル) を作成する必要があります。ほとんどの場合、C で (WINDDK を使用して) 作成します。また、ドライバーを 64 ビット Windows バージョンで実行できるようにするには、コード署名証明書を購入する必要があります (または、コンピューターでのみ実行する必要がある場合は、ドライバーの署名を無効にします)。

于 2012-07-09T07:36:13.450 に答える