阅读:1327回复:1
dazzy,mansd谢谢你们的关于并口驱动的建议.
是的,要简单点,只要能直接对并口进行读写操作就可以了.最好是有源代码,有的话,发给我吧.yiaijun@sbell.com.cn.谢谢
|
|
最新喜欢:![]()
|
沙发#
发布于:2001-10-30 13:17
借助于并口驱动(ms提供),写一个驱动,在你的驱动里如此做:
1.调用IoGetDeviceObjectPointer()得到objectname为\Device\ParallelPort0的deviceobject. 2.调用IoBuildDeviceIoControlRequest()建立一个IRP,其中的IoControlCode为IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO,DeviceObject为取得的deviceobject,OutputBuffer为指向PARALLEL_PORT_INFORMATION的pointer,这样你就取得了并口的相关信息,比如端口号,其中PARALLEL_PORT_INFORMATION的Controller为并口的端口号translated后的基地址,将此地址保存起来。此值可以传入READ_PORT_UCHAR(或者WRITE_PORT_UCHAR)里进行操作。 而PARALLEL_PORT_INFORMATION的OriginalController得低四位为并口的原始断口号,对于LPT1为0X378. 3.至于对端口读写,你只需要在需要的时候调用READ_PORT_UCHAR或WRITE_PORT_UCHAR. 4.这样做,使得代码显得更好一些。用不到在代码里指定0X378等. |
|