疯壳出品鸿蒙os-驱动程序接收应用程序的消息

2023-11-10

当明确驱动已经加载完成时,用户态应用可通过接口:

struct HdfIoService *HdfIoServiceBind(const char *serviceName, mode_t permission)

获取驱动的服务,获取到服务后通过服务中的Dispatch方法向驱动发送消息。该接口在hdf_io_service_if.h文件中有如下声明:

*参数serviceName 表示指向要获取的服务名称的指针

*参数 permission 表示创建设备节点的权限,从用户空间调用此函数时,可以使用默认值0

*如果操作成功,函数返回指向驱动程序服务对象的指针,否则返回NULL

我们在之前添加的myapp应用的基础上新添获取 “sample_service” 服务的接口并调用Dispatch方法向驱动发送消息,如下:

App完整程序在文末附上!

 

此外我们在驱动中还要实现服务基类成员IDeviceIoService中的Dispatch方法,如下:

我们先看一下IDeviceIoService结构体(在源码hdf_device_desc.h中):

其中Dispatch是一个函数指针,HdfDeviceIoClient结构体定义如下(同文件中):

1.驱动文件sample_driver.c中新增dispatch方法:

根据上面的图片,我们定义一个跟Disapatch兼容的函数体如下:

</

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

疯壳出品鸿蒙os-驱动程序接收应用程序的消息 的相关文章

随机推荐

  • 三英战SQL:解析NoSQL的可靠性及扩展操作

    摘要 NoSQL的高性能 易扩展及可靠性一直深受数据工作者的喜爱 然而对比传统关系型数据库NoSQL的优势究竟又在何处 Esen Sagynov在DZone上发布了一篇文章 从运行方面分析Cassandra HBase以及MongoDB产品
  • SVN 执行清理命令,提示清理以下路径失败,并可能有乱码的解决方法

    SVN 执行清理命令 提示清理以下路径失败 并可能有乱码的解决方法 参考文章 1 SVN 执行清理命令 提示清理以下路径失败 并可能有乱码的解决方法 2 https www cnblogs com aidegongyang p 830374
  • Windows下MySQL安装配置及libmysql的使用

    Windows下MySQL安装配置及libmysql的使用 1 安装配置 请参考 Mysql安装配置 2 API文档 libmysql API文档地址 3 示例代码 本示例代码使用了mysql stmt xxx接口 运行本代码需要提前创建好
  • Python之科赫曲线绘制

    实验四 py import turtle def koch size n if n 0 turtle fd size else for angle in 0 60 120 60 turtle left angle koch size 3 n
  • graphpad做图如何加星号_如何用R画分组柱状图并且添加标准差和显著性标记(星号)?...

    时间过了这么久 该交一份答案了 ggplot2包 是一个图形可视化包 并不带统计分析功能 所以统计学分析需要另外去做 这里加bar和显著性标识 如果了解ggplot2绘图原理中的图层概念的话 就能明白 无非就是在画完分组柱状图后 根据需要自
  • PCL 计算点云中任意一个点的法向量

    目录 一 算法原理 1 原理概述 2 主要函数 二 代码实现 三 结果展示 一 算法原理 1 原理概述 见 PCL 计算点云法向量并显示 2 主要函数 inline bool computePointNormal const pcl Poi
  • 自定义user表签发token、自定义认证类、simpleui模块使用

    Python微信订餐小程序课程视频 https edu csdn net course detail 36074 Python实战量化交易理财系统 https edu csdn net course detail 35475 今日内容概要
  • mysql的数据备份脚本

    一 数据库的备份脚本脚本命令 1 核心命令 usr local mysql bin mysqldump h IP p3306 u dbuser p dbpasswd f A F E R quick single transaction fl
  • Linux命令 - ls命令

    Linux命令 ls命令 ls命令是linux下最常用的命令 ls命令就是list的缩写 用来打印出当前目录的清单 如果ls指定其他目录 那么就会显示指定目录里的文件及文件夹清单 通过ls 命令不仅可以查看linux文件夹包含的文件 而且可
  • python多线程:Thread类的用法

    我们要创建Thread对象 然后让他们运行 每个Thread对象代表一个线程 在每个线程中我们可以让程序处理不同的任务 这就是多线程编程 创建Thread对象有两种方法 1 直接创建Thread 将一个callable对象从类的构造器传递出
  • 团体程序设计天梯赛-练习集(5分题)

    团体程序设计天梯赛 练习集 5分题 L1 001 Hello World 5 分 这道超级简单的题目没有任何输入 你只需要在一行中输出著名短句 Hello World 就可以了 输入样例 无 输出样例 Hello World public
  • wav音频文件格式解析【个人笔记】(自用)

    目录 1 WAV格式 2 WAV的二进制格式解析 2 1 WAV文件格式 2 2 C语言解析wav文件 3 WAV文件语音数据的组织结构 4 总结 回到顶部 1 WAV格式 wav是微软开发的一种音频文件格式 注意 wav文件格式是无损音频
  • 编写测试用例案例

    案例一 电梯 功能 性能 界面 安全 易用 功能 点击按钮电梯门是否能正常打开和关闭 电梯开关门按钮是否能正常使用 电梯里面是否有紧急按钮 点击相对的楼层按钮电梯是否能顺利到达对应楼层 电梯是否有超重提醒 电梯是否能做人 电梯除了做人还有其
  • css 灯泡发光动画,挺有意思

    light animation flicker 4000ms ease infinite keyframes flicker 0 100 box shadow 0 0 1rem fefa01 inset 0 25rem 0 0 0 5rem
  • volatile的使用条件

    volatile的使用条件 Volatile 变量具有 synchronized 的可见性特性 但是不具备原子性 这就是说线程能够自动发现 volatile 变量的最新值 Volatile 变量可用于提供线程安全 但是只能应用于非常有限的一
  • 服务器uefi装系统教程,uefi模式怎么重装系统_win10uefi装系统步骤教程

    2019 01 13 10 15 56 浏览量 11984 uefi模式重装系统步骤是怎样的 新电脑已经进入uefi时代 任何一款新电脑都是uefi主板 默认的系统是win10 64位纯净版 如果要重装系统 需要在uefi模式下重装 对应的
  • 深度解析:从0到1搭建电商营销中心(建议收藏)

    看完本文 你将对以下问题有所了解 1 什么是促销 2 促销的作用是什么 3 营销中心有哪些核心能力 4 营销中心从0到1如何设计 4 1 促销工具 4 2 促销叠加互斥规则 4 3 促销命中规则 4 4 实时价格计算 4 5 优惠分摊计算
  • 根据不同的登录用户获取对应的数据

    一 我的开发环境 springBoot mybatisplus security 二 难点 如何获取登录的用户名 三 我的分析思路 1 先在登录接口找到是否有获取用户信息的方法 没有的话就往service层找 那我这里在controller
  • 【计算机网络】图解应用层协议

    图解应用层协议 1 应用层 2 远程登录 2 1 Telnet 2 2 SSH 3 文件传输 3 1 FTP 3 2 TFTP 4 电子邮件 4 1 通信架构 4 2 邮件地址 4 3 SMTP 协议 4 4 POP3 协议 4 5 IMA
  • 疯壳出品鸿蒙os-驱动程序接收应用程序的消息

    当明确驱动已经加载完成时 用户态应用可通过接口 struct HdfIoService HdfIoServiceBind const char serviceName mode t permission 获取驱动的服务 获取到服务后通过服务