开发者社区> hopegrace> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Windows API 设备驱动管理与内核通信

简介: 关于驱动和内核的学习介绍,[2]中较为详细。这里只简述。    应用程序可以将设备驱动程序加载入内核。可以对已经加载了的设备驱动程序发送请求,进行控制或与内核程序进行通信,传输数据。 设备管理[1] 列举设备 SetupDiCreateDeviceInfoList函数创建一个空的设备信息列表。
+关注继续查看

    关于驱动和内核的学习介绍,[2]中较为详细。这里只简述。    <?xml:namespace prefix = o />

应用程序可以将设备驱动程序加载入内核。可以对已经加载了的设备驱动程序发送请求,进行控制或与内核程序进行通信,传输数据。

设备管理[1]

列举设备

SetupDiCreateDeviceInfoList函数创建一个空的设备信息列表。

SetupDiGetClassDevsEx函数获取指定类型GUID的所有设备的信息列表。

SetupDiEnumDevieeInterfaces函数是从已经获取的设备接口列表信息中获取信息并使用结构保存,每调用一次会依次返回一个设备接口的信息。

    通过SetupDiEnumDeviceInterfaces函数所获取的信息还不够丰富,将其作为参数,传递给SetupDiGetDeviceRegistryPropertySetupDiGetDeviceInterfaceDetail等函数,可以获取设备接口信息的细节。

    SetupDiCreateDeviceInfoList分配的内存需要通过Setup Di DestroyDeviceInfoList函数释放内存。

监控设备的加载和卸载

注册“设备通知”使用API函数RegisterDeviceNotification

    如果一个驱动程序需要和用户态程序进行通信,需要创建设备对象和符号链接。所创建的符号链接与用户态驱动控制程序使用CreateFile所打开的设备名需对应。

    创建设备对象和符号连接使用函数IoCreateDeviceIoCreateSymbolicLink

参考

[1] 精通Windows API 函数、接口、编程实例

[2] http://www.cnblogs.com/mydomain/category/264964.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
开发 k8s 管理平台 - k8sailor 06. 使用 api/biz/dao 分层结构管理数据请求,获取 deployment 数据
开发 k8s 管理平台 - k8sailor 06. 使用 api/biz/dao 分层结构管理数据请求,获取 deployment 数据
0 0
开发 k8s 管理平台 - k8sailor 05. RESTFul API 接口规范与请求应答约定
开发 k8s 管理平台 - k8sailor 05. RESTFul API 接口规范与请求应答约定
0 0
开发 k8s 管理平台 - k8sailor 04. 使用 gin 创建第一个 API 接口
开发 k8s 管理平台 - k8sailor 04. 使用 gin 创建第一个 API 接口
0 0
功能强大的国产API管理神器 Eolink,亲测好用
大家好,我是海拥,今天给大家讲讲最近很火的Eolink,一款功能强大且非常实用的国产 API管理工具。在我们日常的前端、后端开发测试过程中经常会用到API,特别是在大型项目中API管理工具也就必不可少。工欲善其事必先利其器,用对了工具,工作效率也就能大大提升(拥有更多时间摸鱼)。
0 0
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(三)
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架
0 0
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(二)
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架
0 0
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架(一)
API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架
0 0
HTTPDNS-管理控制台API的使用
快速介绍HTTPDNS-管理控制台API的使用
0 0
【笔记】API参考—实例管理—DescribeDBInstanceAttribute
调用DescribeDBInstanceAttribute接口查看实例的详细信息。
0 0
【笔记】API参考—账号管理—DeleteAccount
调用DeleteAccount接口删除普通账号。
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CUDA Math API
立即下载
阿里云 API 精选手册(Alibaba Cloud API Playbook)
立即下载
重保场景及API安全指南
立即下载