鸿蒙OpenHarmony Native API【Rawfile】

Rawfile

Overview

Description:

提供操作rawfile目录和rawfile文件的功能

提供操作rawfile目录和rawfile文件功能

功能包括遍历、打开、搜索、读取和关闭rawfile

Since:

8

Version:

1.0

Summary

Files

File NameDescription
[raw_dir.h]提供rawfile目录相关功能
[raw_file.h]提供rawfile文件相关功能

Classes

Classe NameDescription
[RawFileDescriptor]提供rawfile文件描述符信息

Typedefs

Typedef NameDescription
RawDirtypedef struct RawDir 提供对rawfile目录的访问
RawFiletypedef struct RawFile 提供对rawfile的访问功能
NativeResourceManagertypedef struct NativeResourceManager 代表resource manager

Functions

FunctionDescription
OH_ResourceManager_GetRawFileName (RawDir *rawDir, int index)const char * 通过索引获取rawfile文件名称
OH_ResourceManager_GetRawFileCount (RawDir *rawDir)int 获取RawDir中的rawfile数量
OH_ResourceManager_CloseRawDir (RawDir *rawDir)void 关闭已打开的RawDir并释放所有相关联资源
OH_ResourceManager_ReadRawFile (const RawFile *rawFile, void *buf, size_t length)int 读取rawfile
OH_ResourceManager_SeekRawFile (const RawFile *rawFile, long offset, int whence)int 基于指定的offset,在rawfile文件内搜索读写数据的位置
OH_ResourceManager_GetRawFileSize (RawFile *rawFile)long 获取rawfile长度,单位为int32_t
OH_ResourceManager_CloseRawFile (RawFile *rawFile)void 关闭已打开的RawFile 以及释放所有相关联资源
OH_ResourceManager_GetRawFileOffset (const RawFile *rawFile)long 获取rawfile当前的offset,单位为int32_t
OH_ResourceManager_GetRawFileDescriptor (const RawFile *rawFile, RawFileDescriptor &descriptor)bool 基于offset(单位为int32_t)和文件长度打开rawfile,并获取rawfile文件描述符
OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor &descriptor)bool 关闭rawfile文件描述符
OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr)NativeResourceManager * 基于JavaScipt resource manager获取native resource manager
OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager *resMgr)void 释放native resource manager
OH_ResourceManager_OpenRawDir (const NativeResourceManager *mgr, const char *dirName)RawDir * 打开rawfile目录
OH_ResourceManager_OpenRawFile (const NativeResourceManager *mgr, const char *fileName)RawFile * 打开rawfile文件

Details

Typedef

NativeResourceManager

typedef struct NativeResourceManager NativeResourceManager

Description:

代表resource manager

此类封装了JavaScript resource manager的native实现 ResourceManager指针可以通过调用OH_ResourceManager_InitNativeResourceManager方法获取

RawDir

typedef struct RawDir RawDir

Description:

提供对rawfile目录的访问

RawFile

typedef struct RawFile RawFile

Description:

提供对rawfile的访问功能

Function

OH_ResourceManager_CloseRawDir()

void OH_ResourceManager_CloseRawDir (RawDir * rawDir)

Description:

关闭已打开的RawDir并释放所有相关联资源

Parameters:

NameDescription
rawDir表示指向RawDir的指针

See also:

OH_ResourceManager_OpenRawDir

OH_ResourceManager_CloseRawFile()

void OH_ResourceManager_CloseRawFile (RawFile * rawFile)

Description:

关闭已打开的RawFile 以及释放所有相关联资源

Parameters:

NameDescription
rawFile表示指向RawFile的指针

See also:

OH_ResourceManager_OpenRawFile

OH_ResourceManager_GetRawFileCount()

int OH_ResourceManager_GetRawFileCount (RawDir * rawDir)

Description:

获取RawDir中的rawfile数量

通过此方法可以获取OH_ResourceManager_GetRawFileName中可用的索引

Parameters:

NameDescription
rawDir表示指向RawDir的指针

See also:

OH_ResourceManager_GetRawFileName

OH_ResourceManager_GetRawFileDescriptor()

bool OH_ResourceManager_GetRawFileDescriptor (const RawFile * rawFile, RawFileDescriptor & descriptor )

Description:

基于offset(单位为int32_t)和文件长度打开rawfile,并获取rawfile文件描述符

打开的文件描述符被用于读取rawfile

Parameters:

NameDescription
rawFile表示指向RawFile的指针
descriptor显示rawfile文件描述符,以及在HAP包中的起始位置和长度

Returns:

返回true表示打开rawfile文件描述符成功,返回false表示rawfile不允许被访问

OH_ResourceManager_GetRawFileName()

const char* OH_ResourceManager_GetRawFileName (RawDir * rawDir, int index )

Description:

通过索引获取rawfile文件名称

可以使用此方法遍历rawfile目录

Parameters:

NameDescription
rawDir表示指向RawDir的指针
index表示文件在RawDir中的索引位置

Returns:

通过索引返回文件名称,此返回值可以作为OH_ResourceManager_OpenRawFile的输入参数, 如果遍历完所有文件仍未找到,则返回NULL

See also:

OH_ResourceManager_OpenRawFile

OH_ResourceManager_GetRawFileOffset()

long OH_ResourceManager_GetRawFileOffset (const RawFile * rawFile)

Description:

获取rawfile当前的offset,单位为int32_t

rawfile当前的offset

Parameters:

NameDescription
rawFile表示指向RawFile的指针

Returns:

返回rawfile当前的offset

OH_ResourceManager_GetRawFileSize()

long OH_ResourceManager_GetRawFileSize (RawFile * rawFile)

Description:

获取rawfile长度,单位为int32_t

Parameters:

NameDescription
rawFile表示指向RawFile的指针

Returns:

Returns rawfile整体长度

OH_ResourceManager_InitNativeResourceManager()

NativeResourceManager* OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr )

Description:

基于JavaScipt resource manager获取native resource manager

通过获取resource manager来完成rawfile相关功能

Parameters:

NameDescription
env表示JavaScipt Native Interface (napi)环境指针
jsResMgr表示JavaScipt resource manager

Returns:

返回NativeResourceManager指针

OH_ResourceManager_OpenRawDir()

RawDir* OH_ResourceManager_OpenRawDir (const NativeResourceManager * mgr, const char * dirName )

Description:

打开rawfile目录

打开rawfile目录后,可以遍历对应目录下的rawfile文件

Parameters:

NameDescription
mgr表示指向NativeResourceManager的指针,此指针是通过调用 OH_ResourceManager_InitNativeResourceManager方法获取的
dirName表示要打开的rawfile目录名称,当传递一个空字符串时表示打开rawfile根目录

Returns:

返回RawDir指针。使用完此指针后,调用OH_ResourceManager_CloseRawDir释放。

See also:

OH_ResourceManager_InitNativeResourceManager

OH_ResourceManager_CloseRawDir

OH_ResourceManager_OpenRawFile()

RawFile* OH_ResourceManager_OpenRawFile (const NativeResourceManager * mgr, const char * fileName )

Description:

打开rawfile文件

当打开rawfile以后,可以读取它的数据

Parameters:

NameDescription
mgr表示指向NativeResourceManager的指针,此指针是通过调用 OH_ResourceManager_InitNativeResourceManager方法获取的
fileName表示基于rawfile根目录的相对路径下的文件名称

Returns:

返回RawFile指针。当使用完此指针,调用OH_ResourceManager_CloseRawFile释放。

See also:

OH_ResourceManager_InitNativeResourceManager

OH_ResourceManager_CloseRawFile

OH_ResourceManager_ReadRawFile()

int OH_ResourceManager_ReadRawFile (const RawFile * rawFile, void * buf, size_t length )

Description:

读取rawfile

从当前位置读取指定长度的数据

Parameters:

NameDescription
rawFile表示指向RawFile的指针
buf用于接收读取数据的缓冲区指针
length读取数据的字节长度

Returns:

返回读取的字节数,如果读取长度超过文件末尾长度,则返回0

OH_ResourceManager_ReleaseNativeResourceManager()

void OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager * resMgr)

Description:

释放native resource manager

Parameters:

NameDescription
resMgr表示NativeResourceManager指针

OH_ResourceManager_ReleaseRawFileDescriptor()

bool OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor & descriptor)

Description:

关闭rawfile文件描述符

已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露

Parameters:

NameDescription
descriptor包含rawfile文件描述符,以及在HAP包中的起始位置和长度

Returns:

返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败

OH_ResourceManager_SeekRawFile()

int OH_ResourceManager_SeekRawFile (const RawFile * rawFile, long offset, int whence )

Description:

基于指定的offset,在rawfile文件内搜索读写数据的位置

Parameters:

NameDescription
rawFile表示指向RawFile的指针
offset表示指定的offset
whence读写位置,有以下场景: 0: 读写位置为offset1: 读写位置为当前位置加上offset2: 读写位置为文件末尾(EOF)加上offset

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Returns:

如果搜索成功返回新的读写位置,如果发生错误返回 (long) -1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/843331.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Debian Linux下rclone挂载谷歌云盘碰到的坑

可能是明月好久没有使用境外服务器挂载境外的云盘缘故吧,今天一个代维客户需要他的Linux服务器挂载谷歌云盘好进行云备份,本来是个很简单的事儿,没想到在rclone连接谷歌云盘的时候卡壳了,可是把明月给难为坏了,搜索到的简体中文教程倒是很多,但没有一个提到这个“坑”,最…

Docker启动PostgreSql并设置时间与主机同步

在 Docker 中启动 PostgreSql 时,需要配置容器的时间与主机同步。可以通过在 Dockerfile 或者 Docker Compose 文件中设置容器的时区,或者使用宿主机的时间来同步容器的时间。这样可以确保容器中的 PostgreSql 与主机的时间保持一致,避免在使…

C语言数组的相关案例

引导案例&#xff1a; 数组的遍历&#xff1a;这里需要注意的是我们在遍历数组时是使用for循环&#xff0c;这里则需要计算数组的长度 计算公式&#xff1a;sizeof(数组名) / sizeof(数组的数据类型) #include<stdio.h> int main() {int arr[] { 1,2,3,4,5,6,7,8 ,9,…

大厂面试-基本功

大厂面试第4季 服务可用性多少个9是什么意思遍历集合add或remove操作bughashcode冲突案例BigdecimalList去重复IDEA Debugger测试框架ThreaLocal父子线程数据同步 InheritableThreadLocal完美解决线程数据同步方案 TransmittableThreadLocal 服务可用性多少个9是什么意思 遍历集…

增值税发票核验API在Java、Python、PHP中的使用教程

在企业经营中&#xff0c;发票扮演着记录交易、报销和纳税的重要角色。然而&#xff0c;由于发票的众多类型和复杂的制作方式&#xff0c;一些企业可能面临着假发票、冒充发票等风险。为了提高财务管理的效率和准确性&#xff0c;以及防范不法行为&#xff0c;增值税发票核验成…

定制QCustomPlot 带有ListView的QCustomPlot 全网唯一份

定制QCustomPlot 带有ListView的QCustomPlot 文章目录 定制QCustomPlot 带有ListView的QCustomPlot摘要需求描述实现关键字: Qt、 QCustomPlot、 魔改、 定制、 控件 摘要 先上效果,是你想要的,再看下面的分解,顺便点赞搜藏一下;不是直接右上角。 QCustomPlot是一款…

Jenkins-zookeeper-docker-xxljob-rancher

文章目录 Jenkins实战1 新建任务需要的配置pipeline Zookeeper基础 Docker基础实操windows11 docker mysql DockerhouseDockerhubxxl-Job基础实战 Rancher基础思考 实战1 Rancher的某个namespace的scale为0 Jenkins 实战 1 新建任务需要的配置pipeline 该代码是Jenkinsfile&…

【接口自动化_08课_Pytest+Yaml+Allure框架】

上节课一些内容 的补充 1、openxl这个方法&#xff0c;第一个元素是从1开始的&#xff0c;不是从0开始 回写的列在程序里写的是11&#xff0c;是因为是固定值 一、1. Yaml入门及应用 1、什么是yaml YAML&#xff08;/ˈjməl/&#xff0c;尾音类似camel骆驼&#xff09;是一…

探索Python日志管理的优雅之道:Loguru库入门指南

探索Python日志管理的优雅之道&#xff1a;Loguru库入门指南 背景&#xff1a;为何选择Loguru&#xff1f; 在Python开发过程中&#xff0c;日志记录是不可或缺的一部分&#xff0c;它帮助我们追踪程序的运行状态&#xff0c;调试程序错误&#xff0c;并记录关键信息。然而&am…

【Linux】-----权限详解

目录 一、Linux下的权限概念 Ⅰ、是什么&#xff1f; Ⅱ、Linux下的两种角色 角色 如何添加普通用户 身份的转化方式 身份的提权 添加普通用户至白名单 二、Linux下的权限管理 Ⅰ、文件访问者的分类(Linux下的“人”) Ⅱ、文件类型和访问权限(事物属性) 1.文件类型 …

使用AOP优化Spring Boot Controller参数:自动填充常用字段的技巧

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 使用AOP优化Spring Boot Controller参数&#xff1a;自动填充常用字段的技巧 前言为什么使用AOP为…

2-41 基于matlab的小车倒立摆系统的控制及GUI动画演示

基于matlab的小车倒立摆系统的控制及GUI动画演示。输入小车及倒立摆的初始参数&#xff0c;位置参数&#xff0c;对仿真时间和步长进行设置&#xff0c;通过LQR计算K值&#xff0c;进行角度、角速度、位置、速度仿真及曲线输出&#xff0c;程序已调通&#xff0c;可直接运行。 …

昇思MindSpore学习总结十七 —— 基于MindSpore通过GPT实现情感分类

1、要求 2、导入了一些必要的库和模块 以便在使用MindSpore和MindNLP进行深度学习任务时能使用各种功能&#xff0c;比如数据集处理、模型训练、评估和回调功能。 import os # 导入操作系统相关功能的模块&#xff0c;如文件和目录操作import mindspore # 导入MindSpore库&a…

HTTPServer改进思路2(mudou库核心思想融入)

mudou网络库思想理解 Reactor与多线程 服务器构建过程中&#xff0c;不仅仅使用一个Reactor&#xff0c;而是使用多个Reactor&#xff0c;每个Reactor执行自己专属的任务&#xff0c;从而提高响应效率。 首先Reactor是一种事件驱动处理模式&#xff0c;其主要通过IO多路复用…

基于WebGoat平台的SQL注入攻击

目录 引言 一、安装好JAVA 二、下载并运行WebGoat 三、注册并登录WebGoat 四、模拟攻击 1. 第九题 2. 第十题 3. 第十一题 4. 第十二题 5. 第十三题 五、思考体会 1. 举例说明SQL 注入攻击发生的原因。 2. 从信息的CIA 三要素&#xff08;机密性、完整性、可用性&…

JAVA:Filer过滤器+案例:请求IP访问限制和请求返回值修改

JAVA&#xff1a;Filer过滤器 介绍 Java中的Filter也被称为过滤器&#xff0c;它是Servlet技术的一部分&#xff0c;用于在web服务器上拦截请求和响应&#xff0c;以检查或转换其内容。 Filter的urlPatterns可以过滤特定地址http的请求&#xff0c;也可以利用Filter对访问请求…

[数据分析]脑图像处理工具

###############ATTENTION&#xff01;############### 非常需要注意软件适配的操作系统&#xff01;有些仅适用于Linux&#xff0c;可以点进各自软件手册查看详情。 需要自行查看支持的影像模态。 代码库和软件我没有加以区分。 不是专门预处理的博客&#xff01;&#xf…

Richteck立锜科技电源管理芯片简介及器件选择指南

一、电源管理简介 电源管理组件的选择和应用本身的电源输入和输出条件是高度关联的。 输入电源是交流或直流&#xff1f;需求的输出电压比输入电压高或是低&#xff1f;负载电流多大&#xff1f;系统是否对噪讯非常敏感&#xff1f;也许系统需要的是恒流而不是稳压 (例如 LED…

Mac装虚拟机占内存吗 Mac用虚拟机装Windows流畅吗

如今&#xff0c;越来越多的Mac用户选择在他们的设备上安装虚拟机来运行不同的操作系统。其中&#xff0c;最常见的是使用虚拟机在Mac上运行Windows。然而&#xff0c;许多人担心在Mac上装虚拟机会占用大量内存&#xff0c;影响电脑系统性能。此外&#xff0c;有些用户还关心在…

k8s中部署nacos

1 部署nfs # 在k8s的主节点上执行 mkdir -p /appdata/download cd /appdata/download git clone https://github.com/nacos-group/nacos-k8s.git 将nacos部署到middleware的命名空间中 kubectl create namespace middleware cd /appdata/download/nacos-k8s # 创建角色 kub…