阅读:1845回复:5
Win32 API CreateFile所对应的驱动程序动作IRP_MJ_CREATE到底要做些什么?
当用户调用Win32 API CreateFile后,会返回一个文件句柄,该句柄代表的是一块内存结构。那么这块内存结构是怎样分配的?谁负责分配、管理?它怎样和用户要打开的设备关联起来的?驱动程序在处理IRP_MJ_CREATE时到底要做哪些动作?
我所有的分都拿出来了,倾家荡产了!所以拜托各位说清楚点! |
|
|
沙发#
发布于:2002-11-04 10:00
你说的这些都是由io管理器作的,你不用管这些,驱动中只需要的完成这个irp,返回给io管理器成功状态即可。当然你也可以加一些你需要的东西这这个例程里
|
|
|
板凳#
发布于:2002-11-04 10:51
你说的这些都是由io管理器作的,你不用管这些,驱动中只需要的完成这个irp,返回给io管理器成功状态即可。当然你也可以加一些你需要的东西这这个例程里 都可加入哪些东西啊?举些例子! |
|
|
地板#
发布于:2002-11-04 11:00
比如说你要计数设备被打开的次数
就可以加个计数变量在这,每次打开自加,关闭自减。 :D |
|
|
地下室#
发布于:2002-11-04 11:54
我的理解是:
句柄应该是为了保护内核而设置的指针八.它是指向特定设备对象的.该设备对象在createfile通过其第一个参数(可能是符号连接名或者是guid)指定了.可以说,win32程序和内核都是通过设备对象访问驱动程序的设备的.设备对象是通过iocreatedevice初始化和分配内存的.(动作当然是os做的,呵呵) |
|
5楼#
发布于:2002-11-04 12:56
当用户调用Win32 API CreateFile后,会返回一个文件句柄,该句柄代表的是一块内存结构。那么这块内存结构是怎样分配的?谁负责分配、管理?它怎样和用户要打开的设备关联起来的?驱动程序在处理IRP_MJ_CREATE时到底要做哪些动作? #它怎样和用户要打开的设备关联起来的? 它只建立 FILEHANDLE, |
|