65.9K
CodeProject 正在变化。 阅读更多。
Home

Kport 直接访问 I/O 端口,适用于 Win NT/2000/XP

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.47/5 (9投票s)

2005年4月6日

CPOL
viewsIcon

63697

downloadIcon

2885

两个简单的函数,用于访问 I/O 端口,跳过 H.A.L。

Sample Image - kport.jpg

引言

我编写了这个 DLL,用于在 Windows NT/2K/XP 中实现对 I/O 端口的直接访问。

背景

要编译该项目,您需要 VC7.1-2003。要编译 kioport.sys,您需要安装 DDK。Kioport 基于文章中的 PortTalk.sys:“超越逻辑端口谈话 I/O 端口驱动程序”,http://www.beyondlogic.org/,和“适用于 VC2003 的 DDK 项目向导”,https://codeproject.org.cn/KB/macros/ddkwizard.aspx

使用代码

  1. kioport.sys 复制到 \windows\system32\drivers
  2. 添加 kioport.reg 以注册 Windows。
  3. 重启 Windows 以激活注册表中的服务。
  4. kport.h 添加到您的项目中,以及 kport.lib
  5. Kport.dll 放在与应用程序相同的目录中。

使用 Kport DLL 非常简单。以下是函数定义及其说明:

// Returns a value from specific ports.
BYTE Inportb(WORD PortNum);
            
// Write a value to specific ports.
void Outportb(WORD PortNum, BYTE byte);
  • PortNum:是端口号;例如:0x378 (LPT1)。
  • BYTE:要发送到特定 PortNum 的数据,在 Ouportb 中,以及在 Inportb 中接收的数据。

如何使用示例对话框

  • 在文本“Write Value( )”下方写入一个数字,然后单击“Write”按钮。
  • 单击“Read”按钮。

历史

  • 第一个版本:2005年4月3日。
© . All rights reserved.