关于设备扩展(DeviceExtention)的作用

刚学DDK时对DeviceObject中的DeviceExtention指针的作用不是很清楚.
DeviceExtention是DeviceObject结构中的一个PVOID指针.
 
DeviceExtention的作用是可以自定义一个结构,存入一些你所要的变量,
比如说KEVENT ,DriverObjet等.
因为DeviceExtention是PVOID指针,故可以通过强制类型转换转换你所定义的结构.
 
此时你可以会问,这个自定义结构所占的内存空间是在什么时候分配的?
答案是:IoCreateDevice()函数中一个参数是sizeof(Your_DeviceExtention),
哈哈,明白了不,就是要通知IoCreateDevice你定义的结构占多少空间,
要是没有定义那就是0了.
 
分配的格局为:
 DeviceObject主体
占sizeof(DeviceObject)
 DeviceExtention所占用空间
点sizeof(DeviceExtention)
字节
 
 
 
小样,现在明白了吗,  DeviceExtention就是自定义的结构,用于存放一些你所关心的变量.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值