使用WinIO库实现保护模式下的IO和内存读写(_inp,_outp)
来源:互联网 发布:opencv算法精解 pdf 编辑:程序博客网 时间:2024/05/02 01:19
在WindowsXP等NT内核的操作系统中,#include "conio.h"中定义的端口读写函数_inp,_outp已经不能直接使用了,这是因为Window的保护模式不允许对IO直接进行直接操作。但是在工业控制领域,对IO的读写是最基本的操作,尤其是对ISA总线或并口这类固定地址的存储设备的访问,我们必须能够高效的进行IO读写来进行数据采集。
这里给出的解决方案是使用http://www.internals.com/提供的解决方案,即使用其网站上的WinIO.dll。其关键在与InitializeWinIo()函数调用之后,_inp,_outp函数可以被成功调用,在使用结束后再调用ShutdownWinIo()即可。
需要注意的是在程序运行的目录下必须要有Wio.dll,Wio.sys和Wio.vxd。也就是说我们调用WinIO库来实现IO读写实质上是在调用一个驱动,只有驱动级别的可执行文件才能解除保护模式(可能是进入了内核模式),实现对IO的直接读写。
- 使用WinIO库实现保护模式下的IO和内存读写(_inp,_outp)
- 使用WinIO库实现保护模式下的IO和内存读写(_inp,_outp)
- 使用WinIo直接访问IO
- 使用WinIo直接访问IO
- X86保护模式下的内存寻址
- 保护模式下的分段内存寻址
- 保护模式下的内存访问
- winio的使用
- winio的使用
- Winio.dll的使用
- 保护模式下,读写大地址内存 & 从32位保护模式跳回16位实模式
- 保护模式下,读写大地址内存 & 从32位保护模式跳回16位实模式
- 使用winio对直接访问IO PORT
- Title: Protected Mode Memory 保护模式下的内存
- 深入详解保护模式下的内存分页机制
- 深入详解保护模式下的内存分页机制
- 深入详解保护模式下的内存分页机制
- 保护模式下ldt使用
- 实战构建Python和C++混合系统
- 嵌入式开发实作(Linux内核编译及安装)
- 算法
- I帧、P帧和B帧的特点
- Hibernate 二级缓存初步理解
- 使用WinIO库实现保护模式下的IO和内存读写(_inp,_outp)
- 看好电子书,不看好3G电子书
- Nested_Dolls(偏序集)
- 星期几
- September, 15(R)
- 久违了
- rails错误——undefined method "paginate" for
- 【Java】在J2ME下面开发触摸屏的软件-DEMO
- 打印自己的一段漂亮C程序