使用Windows虚拟设备驱动程序(VxD)之2
http://tech.ddvip.com 2006年03月31日 社区交流
本文详细介绍使用Windows虚拟设备驱动程序(VxD)之2
作。要获得有关这些功能的更多信息,请参阅有关资料。
十三、建立一个VxD
应该通过进行下列步骤来建立一个VxD:
1、创建VxD源文件并用32位平坦模式汇编器MASM.EXE(MASM 6.11以上——译者注)汇编源文件。
2、创建模块定义文件(DEF文件)并用32位平坦模式连接器LINK.EXE连接目标文件。按照常规,结果可执行文件应该有与VxD相同的文件名,文
件扩展名为VXD。
3、用MAPSYM.EXE为可执行文件创建调试信息。
VxD并不与Windows动态链接库兼容,基于Windows的应用程序并不能直接装载和使用VxD,然而,基于Win32的应用程序可以通过使用CreateFile
和DeviceIoControl函数装载动态装载的VxD和与之相互作用。VxD模块定义文件有以下格式:
LIBRARY VSAMPLED
DESCRIPTION 'VSAMPLED Device (Version 4.0)'
EXETYPE DEV386
SEGMENTS
_LTEXT PRELOAD NONDISCARDABLE
_LDATA PRELOAD NONDISCARDABLE
_ITEXT CLASS 'ICODE' DISCARDABLE
_IDATA CLASS 'ICODE' DISCARDABLE
_TEXT CLASS 'PCODE' NONDISCARDABLE
_DATA CLASS 'PCODE' NONDISCARDABLE
EXPORTS
VSAMPLED_DDB @1
LIBRARY语句必须指定一个与在已知设备描述块(DDB)中相同的VxD名字,EXPORT语句必须指定一个DDB的名字,在任何情况下,DDB引出序号都是1。
责编:豆豆技术应用