https://blog.csdn.net/zj510/article/details/16987349

WDF里面,大多数对象都支持自定义的数据,比如给设备对象创建一个context。

对象上下文

先自定义一个结构,比如

typedef struct
{
    WDFQUEUE _DefaultQueue;
}DEVICE_CONTEXT;
里面放了一个对象WDFQUEUE. 然后给设备对象创建一个上下文内存块。在使用之前先要声明一下这个结构,相当于告诉框架,我们需要使用一个context。

WDF_DECLARE_CONTEXT_TYPE(DEVICE_CONTEXT);
如果不需要context,那么可以这么初始化一个设备属性,WDF_OBJECT_ATTRIBUTES_INIT(&object_attribs);

如果需要context,那么要换个函数,WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&object_attribs, DEVICE_CONTEXT); 这样就会分配一个DEVICE_CONTEXT的内存块,并且将内存块的指针保存到WDF_OBJECT_ATTRIBUTES里面。看一下WDF_OBJECT_ATTRIBUTES的定义:

typedef struct _WDF_OBJECT_ATTRIBUTES {
  ULONG                          Size;
  PFN_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanupCallback;
  PFN_WDF_OBJECT_CONTEXT_DESTROY EvtDest

WDF驱动开发- CONTEXT和IO QUEUE相关推荐

  1. VS2012+WDK8.0搭建WDF驱动开发环境

    根据目前资料,如果要调试ReactOS源码,有很多工作要做:安装RosBE,下载ReactOS源码,生成VS工程,由源码生成镜像文件,等步骤:然后VS还要搭建驱动开发环境:然后由虚拟机装载运行镜像,V ...

  2. vs2012+wdk8.0 搭建wdf驱动开发环境

    开发环境搭建: 系统:win7 x64 工具:vs2012 + WDK8.0 插件:wdfcoinstaller.msi (1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建 ...

  3. Windows驱动开发VXD/WDM/WDF/DDK/WDK的联系和区别

    背景介绍 首先,先从基础的东西说起,做任何程序的开发,你都需要一个配套的开发套件,专业术语叫做SDK(Software Development Kit,软件开发套件).比如:开发JAVA程序,我们可能 ...

  4. windows xp 驱动开发(三)DDK与WDK WDM的区别

    转自: http://www.cnblogs.com/hyddd/archive/2009/03/15/1412684.html 最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料. ...

  5. 驱动开发DDK与WDK WDM的区别

    转自: http://www.cnblogs.com/hyddd/archive/2009/03/15/1412684.html 最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料. ...

  6. NT、WDM、WDF驱动概念

    一.概念介绍   NT是驱动模型:NT式驱动程序模型是一种比较老式的驱动程序模型,但适用于现有的Windows系统.NT式驱动模型没有固定的形式,最简单的NT式驱动程序模型这一特点,程序开发者可以编写 ...

  7. STM32MP157驱动开发——SPI驱动

    STM32MP157驱动开发--SPI驱动 一.简介 1.SPI介绍 2.STM32MP1 SPI介绍 3. ICM-20608 简介 4.Linux下的SPI框架 二.驱动开发 1)IO 的 pin ...

  8. windows驱动开发-WDF编程

    文章目录 前言 WDF编程前的准备工作 WDF编程 创建驱动对象 创建设备对象 设备对象的回调函数 链表操作 驱动的测试代码 其他 前言 注:本文的完整代码见仓库 18-WDF-reflect 代码参 ...

  9. 谈WDM与WDF (windows驱动开发)

    转载自http://yinaiyun52.blog.163.com/blog/static/36251574200826112436776/ WDF驱动模型 如所周知,自Windows 2000开始, ...

  10. Windows 驱动开发 - 5

    上篇<Windows 驱动开发 - 4>我们已经完毕了硬件准备. 可是我们还没有详细的数据操作,比如接收读写操作. 在WDF中进行此类操作前须要进行设备的IO控制,已保持数据的完整性. 我 ...

最新文章

  1. C语言解析pcap文件得到HTTP信息实例(原创,附源码)
  2. 【ACM】连续出现的字符
  3. python opencv 峰值信噪比
  4. 轨道半径对氦原子基态能级的影响He
  5. 菜鸟要飞java_Java Android视频教程 下载
  6. java spring redis_spring配置redis(xml+java方式)
  7. GDB调试程序实例演示
  8. Spring Boot Actuator:自定义端点,其顶部具有MVC层
  9. Pull解析Xml文件
  10. Windows10临时关闭数字签名认证
  11. linux下文本去重
  12. ARFoundation系列讲解 - 66 AR虚拟试戴
  13. 学习java第20天
  14. Android Device Moniter部分问题的解决办法:
  15. JDO:查询你的数据
  16. 如何制作SOLIDWORKS材料明细表模板
  17. Java毕业设计_基于SSM的美食食谱分享网站的设计与实现
  18. 安卓图片处理Picasso的解析使用
  19. 将SVG图像插入到Word中 - Tools
  20. TTS入门--ios

热门文章

  1. 学习笔记(01):通俗易懂的Bootstrap视频课程(适合初学者的教程)-图标、下拉菜单、按钮组...
  2. 思古解析js静态逆向分析
  3. 单片机控制12864液晶显示屏显示静态图片
  4. apns java 证书_GitHub - linyu19872008/apns-http2-java: 苹果推送apns的http2解决方案
  5. ZED 视频 SVO 转换 其他格式
  6. 解决vs中没有为 VSFilter.dll 加载的符号文件问题
  7. 基于java web的实验室设备管理系统的设计与实现
  8. python再议装饰器
  9. 【干货】热力元素分析看板实例
  10. php用户注册登录6,【php】ThinkPHP6通过Ucenter实现注册登录