社区
驱动开发/核心开发
帖子详情
关于创建irp的问题
blackmagic
2003-03-28 01:06:02
自己创建一个irp(自定义的)怎么创建啊
是不是象定义消息一样用#define 啊
...全文
59
8
打赏
收藏
关于创建irp的问题
自己创建一个irp(自定义的)怎么创建啊 是不是象定义消息一样用#define 啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blackmagic
2003-04-01
打赏
举报
回复
谢谢 jinkaoyan(jinkaoyan)
火焰射手
2003-04-01
打赏
举报
回复
blackmagic,我开发过相关程序,给你一点代码:
ULONG GetDiskGeometry(DISK_GEOMETRY *pDiskGeometry,
struct DEVICE_EXTENSION * devExt)
{
PIRP pIrp;
KEVENT event;
IO_STATUS_BLOCK iostatus;
NTSTATUS ntstatus;
if(!(pIrp=IoBuildDeviceIoControlRequest(IOCTL_DISK_GET_DRIVE_GEOMETRY,
devExt->topDevObj,
NULL,
0,
pDiskGeometry,
sizeof(DISK_GEOMETRY),
FALSE,
&event,
&iostatus))){
return 1;
}
KeInitializeEvent(&event,NotificationEvent,FALSE);
if(IoCallDriver(devExt->topDevObj,pIrp)==STATUS_PENDING)
KeWaitForSingleObject(&event,Executive,KernelMode,FALSE,NULL);
if(!NT_SUCCESS(iostatus.Status)){
return iostatus.Status;
}
return 1;
}
在上面的例子中你可以看到,我使用了IoBuildDeviceIoControlRequest来获取硬盘的结构,比如多少个Head、Track,DISK_GEOMETRY定义在ntdddisk.h中。
一般来说,构造自己的IRP可以使用IoBuildDeviceIoControlRequest或者IoBuildSynchronousFsdRequest,前者用于device control,后者用于读写。
更详细的解释参看ddk的帮助文档。
jinkaoyan
2003-04-01
打赏
举报
回复
what's ifs?
火焰射手
2003-04-01
打赏
举报
回复
呵呵,被扁了,居然没人谢我
blackmagic
2003-03-29
打赏
举报
回复
to :vcmfc(【痛苦的虫虫】)
没有办法啊 我就是很菜啊
我wdm和ifs都是才刚刚开始学
郁闷……………………
你学ifs是怎么学的啊
教教我好嘛
该看什么样的书啊
ifs的书好象太少了
我差不多就只是在看ifs ddk里面的例子
很多都理解不到
好痛苦
谢谢了
vcmfc
2003-03-29
打赏
举报
回复
IoAll之类函数,你要先知道相关IRP的相关参数设置,不然..........
受不了,你太菜了.....................
nustzhua
2003-03-29
打赏
举报
回复
是啊,是啊,要好好学习,不仅要重新创建一个irp,还要填充里面的结构,呵呵。
做驱动和用c编程可不一样啊。一个地方搞不好,嘿嘿,有你好看的。
CDMA_man
2003-03-28
打赏
举报
回复
你是想定义io control码呀,还是要做irp.
定义io control码用#define。
你所谓的自定义IRP是什么意思呀,晕?
CodeIgniter-
irp
:
创建
,读取数据
它的目标是通过提供一组用于执行常见任务的库以及一个简单的界面和逻辑结构来访问这些库,从而使您比从头开始编写代码时更快地开发项目。...资源向我们的或通过我们上的报告安全
问题
,谢谢。致谢Cod
windows内核 自
创建
IRP
访问文件加非递归遍历文件
windows内核,自构建
IRP
,防止rootkey 隐藏隐藏文件或拦截,加上非递归遍历文件(内核栈小不递归)代码加完整例子
Windows驱动开发系列之一:小白入门经典
灵活应用
IRP
、IO堆栈、设备栈、派遣函数等; 您将掌握Windows驱动的分层技术,了解WDM驱动的基本原理 您将掌握Windows驱动开发中的各种回调例程:完成例程、取消例程、DPC例程、APC例程、等等。 具体内容包括但不...
WDM_Driver.rar_
IRP
_WDM
irp
初始化_WinCE WDM
windows驱动程序基本结构:(1)初始化驱动程序,定位和申请硬件资源,
创建
内核对象(2)添加新设备(3)对PNP
IRP
进行缺省处理(4)对
IRP
_MN_REMOVE_DEVICE
IRP
进行处理(5)对即插即用
IRP
进行处理
8549057USBFilter1.rar_IBtUsb_Filter_
irp
检查_usb driver filter_usb
usb过滤驱动WDM(和KDM)是分层的,在构造设备栈时,IO管理器可以使一个设备对象附加到另外一个初始驱动程序
创建
的设备对象上。与初始设备对象相关的驱动程序决定的
IRP
,也将被发送到附加的设备对象相关的驱动程序上...
驱动开发/核心开发
21,600
社区成员
21,708
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章