WinIO下载,WinIO源码,WinIO实例代码

上传者: sonbyn001 | 上传时间: 2021-08-19 09:18:31 | 文件大小: 195KB | 文件类型: ZIP
包含WinIO的源代码,WinIO的VB实例代码,WinIO的C++实例代码,WinIO的C#实例代码。 WinIO程序库允许在32位的Windows应用程序中直接对I/O端口和物理内存进行存取操作。通过使用一种内核模式的设备驱动器和其它几种底层编程技巧,它绕过了Windows系统的保护机制。   WinNT/2000/XP下,WinIO函数库只允许被具有管理者权限的应用程序调用。如果使用者不是以管理者的身份进入的,则WinIO.DLL不能够被安装,也不能激活WinIO驱动器。通过在管理者权限下安装驱动器软件就可以克服这种限制。然而,在这种情况下,ShutdownWinIo函数不能在应用程序结束之前被调用,因为该函数将WinIO驱动程序从系统注册表中删除。   该函数库提供8个函数功能调用:   bool _stdcall InitializeWinIo();   本函数初始化WioIO函数库。   必须在调用所有其它功能函数之前调用本函数。   如果函数调用成功,返回值为非零值。   如果调用失败,则返回值为0。   void _stdcall ShutdownWinIo();   本函数在内存中清除WinIO库   本函数必须在中止应用函数之前或者不再需要WinIO库时调用,   bool _stdcall GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);   使用此函数从一个输入或输出端口读取一个字节/字/双字数据。   参数:   wPortAddr – 输入输出端口地址   pdwPortVal – 指向双字变量的指针,接收从端口得到的数据。   bSize – 需要读的字节数,可以是1 (BYTE), 2 (WORD) or 4 (DWORD).   如果调用成功,则返回非零值。   如果函数调用失败,则函数返回值为零。   bool _stdcall SetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);   使用本函数将一个字节/字/双字的数据写入输入或输出接口。   参数:   wPortAddr – 输入输出口地址   dwPortVal – 要写入口的数据   bSize – 要写的数据个数,可以是 1 (BYTE), 2 (WORD) or 4 (DWORD).   如果调用成功,则返回非零值。   如果函数调用失败,则函数返回值为零。   PBYTE _stdcall MapPhysToLin(PBYTE pbPhysAddr, DWORD dwPhysSize, HANDLE *pPhysicalMemoryHandle)   使用此函数将物理内存的一部分映射到一个32位应用程序的线性地址空间。   下面是一个例子:   PBYTE pbLinAddr;   HANDLE PhysicalMemoryHandle;   pbLinAddr = MapPhysToLin(0xA0000, 65536, &PhysicalMemoryHandle);   该函数将把物理地址范围为0xA0000 - 0xAFFFF的地址空间映射到与应用程序对应的线性地址空间。 返回值为一个与物理地址0xA0000相关的线性地址。如果出现错误,则返回值为NULL。   参数:   pbPhysAddr – 指向物理地址的指针   dwPhysSize – 需要映射的字节数   pPhysicalMemoryHandle – 变量指针,如果调用成功,负责接收物理内存句柄。随后本句柄在调用UnmapPhysicalMemory函数时作为其第一个参数。   bool _stdcall UnmapPhysicalMemory(HANDLE PhysicalMemoryHandle, PBYTE   pbLinAddr)   使用本函数解除原先使用MapPhysToLin函数映射的一段线性物理内存区域,该区域被映射到应用程序所属的线性地址空间。   Windows 9x 应用程序不需要调用此函数。   参数:   PhysicalMemoryHandle – 物理内存区域所属的句柄,此参数由对MapPhysToLin函数的调用返回。   pbLinAddr – MapPhysToLin函数调用返回的线性地址。   bool _stdcall GetPhysLong(PBYTE pbPhysAddr, PDWORD pdwPhysVal);   从指定的物理地址读取一个双字数据。   参数:   pbPhysAddr – 指向物理地址的指针。   pdwPhysVal – 指向一个双字变量的指针,接收

文件下载

资源详情

[{"title":"( 67 个子文件 195KB ) WinIO下载,WinIO源码,WinIO实例代码","children":[{"title":"WinIo","children":[{"title":"Help","children":[{"title":"WinIo.chm <span style='color:#111;'> 15.46KB </span>","children":null,"spread":false}],"spread":true},{"title":"Examples","children":[{"title":"C","children":[{"title":"WinIoTest","children":[{"title":"WinIoTest.opt <span style='color:#111;'> 52.50KB </span>","children":null,"spread":false},{"title":"WinIo.lib <span style='color:#111;'> 3.77KB </span>","children":null,"spread":false},{"title":"WinIoTest.cpp <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"WinIoTest.dsw <span style='color:#111;'> 541B </span>","children":null,"spread":false},{"title":"Release","children":[{"title":"WinIo.dll <span style='color:#111;'> 48.00KB </span>","children":null,"spread":false},{"title":"WinIoTest.exe <span style='color:#111;'> 40.00KB </span>","children":null,"spread":false},{"title":"WINIO.VXD <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false},{"title":"WinIo.sys <span style='color:#111;'> 4.83KB </span>","children":null,"spread":false}],"spread":true},{"title":"WinIo.h <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"WinIoTest.dsp <span style='color:#111;'> 4.27KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"VB","children":[{"title":"VBDumpPort32","children":[{"title":"MSSCCPRJ.SCC <span style='color:#111;'> 199B </span>","children":null,"spread":false},{"title":"WinIo.Bas <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"WinIo.dll <span style='color:#111;'> 48.00KB </span>","children":null,"spread":false},{"title":"VBDumpPort32.frm <span style='color:#111;'> 7.41KB </span>","children":null,"spread":false},{"title":"VBDumpPort32.Vbp <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"WINIO.VXD <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false},{"title":"WinIo.sys <span style='color:#111;'> 4.83KB </span>","children":null,"spread":false},{"title":"VBDumpPort32.vbw <span style='color:#111;'> 91B </span>","children":null,"spread":false},{"title":"VBDumpPort32.exe <span style='color:#111;'> 24.00KB </span>","children":null,"spread":false}],"spread":true},{"title":"VBDumpPhys32","children":[{"title":"VBDumpPhys32.vbw <span style='color:#111;'> 85B </span>","children":null,"spread":false},{"title":"MSSCCPRJ.SCC <span style='color:#111;'> 199B </span>","children":null,"spread":false},{"title":"WinIo.Bas <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"VBDumpPhys32.Vbp <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"WinIo.dll <span style='color:#111;'> 48.00KB </span>","children":null,"spread":false},{"title":"VBDumpPhys32.frm <span style='color:#111;'> 7.40KB </span>","children":null,"spread":false},{"title":"WINIO.VXD <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false},{"title":"VBDumpPhys32.exe <span style='color:#111;'> 24.00KB </span>","children":null,"spread":false},{"title":"WinIo.sys <span style='color:#111;'> 4.83KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"Source","children":[{"title":"Dll","children":[{"title":"WinIo.dsp <span style='color:#111;'> 4.32KB </span>","children":null,"spread":false},{"title":"K32Call.h <span style='color:#111;'> 112B </span>","children":null,"spread":false},{"title":"k32exp.h <span style='color:#111;'> 4.66KB </span>","children":null,"spread":false},{"title":"resource.h <span style='color:#111;'> 409B </span>","children":null,"spread":false},{"title":"Port32.h <span style='color:#111;'> 741B </span>","children":null,"spread":false},{"title":"WinIo.def <span style='color:#111;'> 184B </span>","children":null,"spread":false},{"title":"k32exp.c <span style='color:#111;'> 2.81KB </span>","children":null,"spread":false},{"title":"Port32.cpp <span style='color:#111;'> 2.02KB </span>","children":null,"spread":false},{"title":"Phys32.cpp <span style='color:#111;'> 3.41KB </span>","children":null,"spread":false},{"title":"Release","children":[{"title":"WinIo.lib <span style='color:#111;'> 3.77KB </span>","children":null,"spread":false},{"title":"WinIo.dll <span style='color:#111;'> 48.00KB </span>","children":null,"spread":false}],"spread":false},{"title":"WinIo.h <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"Phys32.h <span style='color:#111;'> 124B </span>","children":null,"spread":false},{"title":"WinIo.cpp <span style='color:#111;'> 3.18KB </span>","children":null,"spread":false},{"title":"InstDrv.cpp <span style='color:#111;'> 3.15KB </span>","children":null,"spread":false},{"title":"WinIo.dsw <span style='color:#111;'> 533B </span>","children":null,"spread":false},{"title":"WinIo.rc <span style='color:#111;'> 2.52KB </span>","children":null,"spread":false}],"spread":false},{"title":"Drv","children":[{"title":"NT","children":[{"title":"OBJ","children":[{"title":"_OBJECTS.MAC <span style='color:#111;'> 294B </span>","children":null,"spread":false},{"title":"I386","children":[{"title":"WINIO.OBJ <span style='color:#111;'> 33.33KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"I386","children":[{"title":"Checked","children":[{"title":"WinIo.sys <span style='color:#111;'> 41.40KB </span>","children":null,"spread":false}],"spread":true},{"title":"Free","children":[{"title":"WinIo.sys <span style='color:#111;'> 4.83KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"WinIo_NT.h <span style='color:#111;'> 1.72KB </span>","children":null,"spread":false},{"title":"WinIo.c <span style='color:#111;'> 12.26KB </span>","children":null,"spread":false},{"title":"MAKEFILE <span style='color:#111;'> 267B </span>","children":null,"spread":false},{"title":"SOURCES <span style='color:#111;'> 85B </span>","children":null,"spread":false},{"title":"BUILD.LOG <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false}],"spread":true},{"title":"9x","children":[{"title":"WINIO.DEF <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"winio.mak <span style='color:#111;'> 274B </span>","children":null,"spread":false},{"title":"WinIo_9x.h <span style='color:#111;'> 363B </span>","children":null,"spread":false},{"title":"WINIO.exp <span style='color:#111;'> 1.54KB </span>","children":null,"spread":false},{"title":"WinIo.c <span style='color:#111;'> 2.26KB </span>","children":null,"spread":false},{"title":"WinIo.h <span style='color:#111;'> 189B </span>","children":null,"spread":false},{"title":"WINIO.VXD <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false},{"title":"WINIO.lib <span style='color:#111;'> 1.69KB </span>","children":null,"spread":false},{"title":"WINIO.VRC <span style='color:#111;'> 303B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"Release","children":[{"title":"WinIo.dll <span style='color:#111;'> 48.00KB </span>","children":null,"spread":false},{"title":"WINIO.VXD <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false},{"title":"WinIo.sys <span style='color:#111;'> 4.83KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

  • vmdebug :
    资源很完整,谢谢
    2019-08-19
  • lonely980918 :
    已应用,很不错的资源
    2017-06-18
  • sxzhu521 :
    有源码,还可以能用
    2016-11-23
  • kingborster :
    还好, XP下能用。
    2016-04-24
  • hongbo843 :
    没有C++的列子,不过资源还算完整
    2015-11-08

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明