• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Rawfile
2
3
4## 概述
5
6提供操作rawfile目录和rawfile文件的功能,包括遍历、打开、搜索、读取和关闭。rawfile是非线程安全的,close和open相关接口是线程安全的。
7
8**起始版本:** 8
9
10
11## 汇总
12
13
14### 文件
15
16| 名称 | 描述 |
17| -------- | -------- |
18| [raw_dir.h](raw__dir_8h.md) | 提供rawfile目录相关功能。 |
19| [raw_file.h](raw__file_8h.md) | 提供rawfile文件相关功能,功能包括搜索、读取和关闭。 |
20| [raw_file_manager.h](raw__file__manager_8h.md) | 提供资源管理rawfile相关功能,可以使用ResourceManager打开rawfile进行后续相关操作,像搜索和读取等。 |
21
22
23### 结构体
24
25| 名称 | 描述 |
26| -------- | -------- |
27| struct  [RawFileDescriptor](_raw_file_descriptor.md) | 提供rawfile文件描述符信息。 |
28| struct  [RawFileDescriptor64](_raw_file_descriptor64.md) | 提供较大rawfile文件描述符信息。 |
29
30
31### 类型定义
32
33| 名称 | 描述 |
34| -------- | -------- |
35| typedef struct [RawDir](#rawdir) [RawDir](#rawdir) | 提供对rawfile目录的访问。 |
36| typedef struct [RawFile](#rawfile) [RawFile](#rawfile) | 提供对rawfile的访问功能。 |
37| typedef struct [RawFile64](#rawfile64) [RawFile64](#rawfile64) | 提供对较大rawfile的访问功能。 |
38| typedef struct [NativeResourceManager](#nativeresourcemanager) [NativeResourceManager](#nativeresourcemanager) | 代表native侧的ResourceManager。 |
39
40
41### 函数
42
43| 名称 | 描述 |
44| -------- | -------- |
45| const char \* [OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename) ([RawDir](#rawdir) \*rawDir, int index) | 通过索引获取rawfile文件名称。 |
46| int [OH_ResourceManager_GetRawFileCount](#oh_resourcemanager_getrawfilecount) ([RawDir](#rawdir) \*rawDir) | 获取[RawDir](#rawdir)中的rawfile数量。 |
47| void [OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir) ([RawDir](#rawdir) \*rawDir) | 关闭已打开的[RawDir](#rawdir)并释放所有相关联资源。 |
48| int [OH_ResourceManager_ReadRawFile](#oh_resourcemanager_readrawfile) (const [RawFile](#rawfile) \*rawFile, void \*buf, size_t length) | 读取rawfile内容,从当前位置读取指定长度的数据。 |
49| int [OH_ResourceManager_SeekRawFile](#oh_resourcemanager_seekrawfile) (const [RawFile](#rawfile) \*rawFile, long offset, int whence) | 基于指定的偏移量,在rawfile文件内搜索读写数据的位置。 |
50| long [OH_ResourceManager_GetRawFileSize](#oh_resourcemanager_getrawfilesize) ([RawFile](#rawfile) \*rawFile) | 获取rawfile长度,单位为long。 |
51| long [OH_ResourceManager_GetRawFileRemainingLength](#oh_resourcemanager_getrawfileremaininglength) (const [RawFile](#rawfile) \*rawFile) | 获取rawfile的剩余长度,单位为long。 |
52| void [OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile) ([RawFile](#rawfile) \*rawFile) | 关闭已打开的[RawFile](#rawfile) 以及释放所有相关联的资源。 |
53| long [OH_ResourceManager_GetRawFileOffset](#oh_resourcemanager_getrawfileoffset) (const [RawFile](#rawfile) \*rawFile) | 获取rawfile当前的偏移量,单位为long。 |
54| bool [OH_ResourceManager_GetRawFileDescriptor](#oh_resourcemanager_getrawfiledescriptor) (const [RawFile](#rawfile) \*rawFile, [RawFileDescriptor](_raw_file_descriptor.md) &descriptor) | 基于偏移量(单位为long)和文件长度(单位为long)打开rawfile,并获取rawfile文件描述符。 |
55| bool [OH_ResourceManager_ReleaseRawFileDescriptor](#oh_resourcemanager_releaserawfiledescriptor) (const [RawFileDescriptor](_raw_file_descriptor.md) &descriptor) | 关闭rawfile文件描述符。 |
56| int64_t [OH_ResourceManager_ReadRawFile64](#oh_resourcemanager_readrawfile64) (const [RawFile64](#rawfile64) \*rawFile, void \*buf, int64_t length) | 读取较大的rawfile文件内容,从当前位置读取指定长度的数据。 |
57| int [OH_ResourceManager_SeekRawFile64](#oh_resourcemanager_seekrawfile64) (const [RawFile64](#rawfile64) \*rawFile, int64_t offset, int whence) | 基于指定的偏移量,在较大的rawfile文件内搜索读写数据的位置。 |
58| int64_t [OH_ResourceManager_GetRawFileSize64](#oh_resourcemanager_getrawfilesize64) ([RawFile64](#rawfile64) \*rawFile) | 获取较大rawfile文件的长度,单位为int64_t。 |
59| int64_t [OH_ResourceManager_GetRawFileRemainingLength64](#oh_resourcemanager_getrawfileremaininglength64) (const [RawFile64](#rawfile64) \*rawFile) | 获取较大rawfile的剩余长度,单位为int64_t。 |
60| void [OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64) ([RawFile64](#rawfile64) \*rawFile) | 关闭已打开的[RawFile64](#rawfile64) 以及释放所有相关联的资源。 |
61| int64_t [OH_ResourceManager_GetRawFileOffset64](#oh_resourcemanager_getrawfileoffset64) (const [RawFile64](#rawfile64) \*rawFile) | 获取较大rawfile文件的偏移量,单位为int64_t。 |
62| bool [OH_ResourceManager_GetRawFileDescriptor64](#oh_resourcemanager_getrawfiledescriptor64) (const [RawFile64](#rawfile64) \*rawFile, [RawFileDescriptor64](_raw_file_descriptor64.md) \*descriptor) | 基于偏移量(单位为int64_t)和文件长度(单位为int64_t)打开较大的rawfile,并获取文件描述符。 |
63| bool [OH_ResourceManager_ReleaseRawFileDescriptor64](#oh_resourcemanager_releaserawfiledescriptor64) (const [RawFileDescriptor64](_raw_file_descriptor64.md) \*descriptor) | 关闭rawfile文件描述符。 |
64| [NativeResourceManager](#nativeresourcemanager) \* [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager) (napi_env env, napi_value jsResMgr) | 基于JavaScipt侧的ResourceManager获取native侧的ResourceManager,用来完成rawfile相关功能。 |
65| void [OH_ResourceManager_ReleaseNativeResourceManager](#oh_resourcemanager_releasenativeresourcemanager) ([NativeResourceManager](#nativeresourcemanager) \*resMgr) | 释放native侧ResourceManager。 |
66| [RawDir](#rawdir) \* [OH_ResourceManager_OpenRawDir](#oh_resourcemanager_openrawdir) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*dirName) | 打开rawfile目录,打开后可以遍历对应目录下的rawfile文件。 |
67| [RawFile](#rawfile) \* [OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*fileName) | 打开rawfile文件,打开后可以读取它的数据。 |
68| [RawFile64](#rawfile64) \* [OH_ResourceManager_OpenRawFile64](#oh_resourcemanager_openrawfile64) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*fileName) | 打开较大的rawfile文件,打开后可以读取它的数据。 |
69| bool [OH_ResourceManager_IsRawDir](#oh_resourcemanager_israwdir) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*path) | 判断路径是否是rawfile下的目录。 |
70
71
72## 类型定义说明
73
74
75### NativeResourceManager
76
77```
78typedef struct NativeResourceManager NativeResourceManager
79```
80
81**描述**
82
83代表native侧的ResourceManager。
84
85此类封装了JavaScript resource manager的native实现, **ResourceManager**指针可以通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。
86
87**起始版本:** 8
88
89
90### RawDir
91
92```
93typedef struct RawDir RawDir
94```
95
96**描述**
97
98提供对rawfile目录的访问。
99
100**起始版本:** 8
101
102
103### RawFile
104
105```
106typedef struct RawFile RawFile
107```
108
109**描述**
110
111提供对rawfile的访问功能。
112
113**起始版本:** 8
114
115
116### RawFile64
117
118```
119typedef struct RawFile64 RawFile64
120```
121
122**描述**
123
124提供对较大rawfile的访问功能。
125
126**起始版本:** 11
127
128
129## 函数说明
130
131
132### OH_ResourceManager_CloseRawDir()
133
134```
135void OH_ResourceManager_CloseRawDir (RawDir * rawDir)
136```
137
138**描述**
139
140关闭已打开的[RawDir](#rawdir)并释放所有相关联资源。
141
142**起始版本:** 8
143
144**参数:**
145
146| 名称 | 描述 |
147| -------- | -------- |
148| rawDir | 表示指向[RawDir](#rawdir)的指针。 |
149
150**参见:**
151
152[OH_ResourceManager_OpenRawDir](#oh_resourcemanager_openrawdir)
153
154
155### OH_ResourceManager_CloseRawFile()
156
157```
158void OH_ResourceManager_CloseRawFile (RawFile * rawFile)
159```
160
161**描述**
162
163关闭已打开的[RawFile](#rawfile) 以及释放所有相关联的资源。
164
165**起始版本:** 8
166
167**参数:**
168
169| 名称 | 描述 |
170| -------- | -------- |
171| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
172
173**参见:**
174
175[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)
176
177
178### OH_ResourceManager_CloseRawFile64()
179
180```
181void OH_ResourceManager_CloseRawFile64 (RawFile64 * rawFile)
182```
183
184**描述**
185
186关闭已打开的[RawFile64](#rawfile64) 以及释放所有相关联的资源。
187
188**起始版本:** 11
189
190**参数:**
191
192| 名称 | 描述 |
193| -------- | -------- |
194| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
195
196**参见:**
197
198[OH_ResourceManager_OpenRawFile64](#oh_resourcemanager_openrawfile64)
199
200
201### OH_ResourceManager_GetRawFileCount()
202
203```
204int OH_ResourceManager_GetRawFileCount (RawDir * rawDir)
205```
206
207**描述**
208
209获取[RawDir](#rawdir)中的rawfile数量。
210
211通过此方法可以获取[OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename)中可用的索引。
212
213**起始版本:** 8
214
215**参数:**
216
217| 名称 | 描述 |
218| -------- | -------- |
219| rawDir | 表示指向[RawDir](#rawdir)的指针。 |
220
221**参见:**
222
223[OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename)
224
225**返回:**
226
227返回rawDir下的文件个数。如果rawDir为空时返回0。
228
229
230### OH_ResourceManager_GetRawFileDescriptor()
231
232```
233bool OH_ResourceManager_GetRawFileDescriptor (const RawFile * rawFile, RawFileDescriptor & descriptor )
234```
235
236**描述**
237
238基于偏移量(单位为long)和文件长度(单位为long)打开rawfile,并获取rawfile文件描述符。
239
240打开的文件描述符被用于读取rawfile。
241
242**起始版本:** 8
243
244**参数:**
245
246| 名称 | 描述 |
247| -------- | -------- |
248| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
249| descriptor | 显示rawfile文件描述符,以及在HAP包中的起始位置和长度。 |
250
251**返回:**
252
253返回true表示打开rawfile文件描述符成功,返回false表示rawfile不允许被访问。
254
255
256### OH_ResourceManager_GetRawFileDescriptor64()
257
258```
259bool OH_ResourceManager_GetRawFileDescriptor64 (const RawFile64 * rawFile, RawFileDescriptor64 * descriptor )
260```
261
262**描述**
263
264基于偏移量(单位为int64_t)和文件长度(单位为int64_t)打开较大的rawfile,并获取文件描述符。
265
266打开的文件描述符被用于读取rawfile。
267
268**起始版本:** 11
269
270**参数:**
271
272| 名称 | 描述 |
273| -------- | -------- |
274| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
275| descriptor | 显示rawfile文件描述符,以及在HAP包中的起始位置和长度。 |
276
277**返回:**
278
279返回true表示打开rawfile文件描述符成功,返回false表示rawfile不允许被访问。
280
281
282### OH_ResourceManager_GetRawFileName()
283
284```
285const char* OH_ResourceManager_GetRawFileName (RawDir * rawDir, int index )
286```
287
288**描述**
289
290通过索引获取rawfile文件名称。
291
292可以使用此方法遍历rawfile目录。
293
294**起始版本:** 8
295
296**参数:**
297
298| 名称 | 描述 |
299| -------- | -------- |
300| rawDir | 表示指向[RawDir](#rawdir)的指针。 |
301| index | 表示文件在[RawDir](#rawdir)中的索引位置。 |
302
303**返回:**
304
305通过索引返回文件名称,此返回值可以作为[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)的输入参数, 如果遍历完所有文件仍未找到,则返回NULL。
306
307**参见:**
308
309[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)
310
311
312### OH_ResourceManager_GetRawFileOffset()
313
314```
315long OH_ResourceManager_GetRawFileOffset (const RawFile * rawFile)
316```
317
318**描述**
319
320获取rawfile当前的偏移量,单位为long。
321
322rawfile当前的偏移量。
323
324**起始版本:** 8
325
326**参数:**
327
328| 名称 | 描述 |
329| -------- | -------- |
330| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
331
332**返回:**
333
334返回rawfile当前的偏移量,如果rawfile为空时返回0。
335
336
337### OH_ResourceManager_GetRawFileOffset64()
338
339```
340int64_t OH_ResourceManager_GetRawFileOffset64 (const RawFile64 * rawFile)
341```
342
343**描述**
344
345获取较大rawfile文件的偏移量,单位为int64_t。
346
347**起始版本:** 11
348
349**参数:**
350
351| 名称 | 描述 |
352| -------- | -------- |
353| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
354
355**返回:**
356
357返回rawfile当前的偏移量,如果rawfile为空时返回0。
358
359
360### OH_ResourceManager_GetRawFileRemainingLength()
361
362```
363long OH_ResourceManager_GetRawFileRemainingLength (const RawFile * rawFile)
364```
365
366**描述**
367
368获取rawfile的剩余长度,单位为long。
369
370**起始版本:** 11
371
372**参数:**
373
374| 名称 | 描述 |
375| -------- | -------- |
376| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
377
378**返回:**
379
380返回rawfile的剩余长度,如果rawfile为空时返回0。
381
382
383### OH_ResourceManager_GetRawFileRemainingLength64()
384
385```
386int64_t OH_ResourceManager_GetRawFileRemainingLength64 (const RawFile64 * rawFile)
387```
388
389**描述**
390
391获取较大rawfile的剩余长度,单位为int64_t。
392
393**起始版本:** 11
394
395**参数:**
396
397| 名称 | 描述 |
398| -------- | -------- |
399| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
400
401**返回:**
402
403返回rawfile的剩余长度,如果rawfile为空时返回0。
404
405
406### OH_ResourceManager_GetRawFileSize()
407
408```
409long OH_ResourceManager_GetRawFileSize (RawFile * rawFile)
410```
411
412**描述**
413
414获取rawfile长度,单位为long。
415
416**起始版本:** 8
417
418**参数:**
419
420| 名称 | 描述 |
421| -------- | -------- |
422| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
423
424**返回:**
425
426返回rawfile的整体长度,如果rawfile为空时返回0。
427
428
429### OH_ResourceManager_GetRawFileSize64()
430
431```
432int64_t OH_ResourceManager_GetRawFileSize64 (RawFile64 * rawFile)
433```
434
435**描述**
436
437获取较大rawfile文件的长度,单位为int64_t。
438
439**起始版本:** 11
440
441**参数:**
442
443| 名称 | 描述 |
444| -------- | -------- |
445| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
446
447**返回:**
448
449返回rawfile的整体长度,如果rawfile为空时返回0。
450
451
452### OH_ResourceManager_InitNativeResourceManager()
453
454```
455NativeResourceManager* OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr )
456```
457
458**描述**
459
460基于JavaScipt侧的ResourceManager获取native侧的ResourceManager,用来完成rawfile相关功能。
461
462**起始版本:** 8
463
464**参数:**
465
466| 名称 | 描述 |
467| -------- | -------- |
468| env | 表示JavaScript Native Interface (napi)环境指针。 |
469| jsResMgr | 表示JavaScipt resource manager。 |
470
471**返回:**
472
473返回[NativeResourceManager](#nativeresourcemanager)指针,如果失败返回空指针。
474
475
476### OH_ResourceManager_IsRawDir()
477
478```
479bool OH_ResourceManager_IsRawDir (const NativeResourceManager * mgr, const char * path )
480```
481
482**描述**
483
484判断路径是否是rawfile下的目录。
485
486**起始版本:** 12
487
488**参数:**
489
490| 名称 | 描述 |
491| -------- | -------- |
492| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。 |
493| path | rawfile路径 |
494
495**返回:**
496
497返回true表示是rawfile下的目录,返回false表示不是rawfile下的目录。
498
499
500### OH_ResourceManager_OpenRawDir()
501
502```
503RawDir* OH_ResourceManager_OpenRawDir (const NativeResourceManager * mgr, const char * dirName )
504```
505
506**描述**
507
508打开rawfile目录,打开后可以遍历对应目录下的rawfile文件。
509
510**起始版本:** 8
511
512**参数:**
513
514| 名称 | 描述 |
515| -------- | -------- |
516| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针是通过调用 [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取的。 |
517| dirName | 表示要打开的rawfile目录名称,当传递一个空字符串时表示打开rawfile根目录。 |
518
519**返回:**
520
521返回[RawDir](#rawdir)指针。使用完此指针后,调用[OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir)释放。如果失败或者mgr为空时返回空指针。
522
523**参见:**
524
525[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
526
527[OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir)
528
529
530### OH_ResourceManager_OpenRawFile()
531
532```
533RawFile* OH_ResourceManager_OpenRawFile (const NativeResourceManager * mgr, const char * fileName )
534```
535
536**描述**
537
538打开rawfile文件,打开后可以读取它的数据。
539
540**起始版本:** 8
541
542**参数:**
543
544| 名称 | 描述 |
545| -------- | -------- |
546| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。 |
547| fileName | 表示基于rawfile根目录的相对路径下的文件名称。 |
548
549**返回:**
550
551返回[RawFile](#rawfile)指针。当使用完此指针,调用[OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile)释放。如果失败或者mgr和fileName为空时返回空指针。
552
553**参见:**
554
555[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
556
557[OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile)
558
559
560### OH_ResourceManager_OpenRawFile64()
561
562```
563RawFile64* OH_ResourceManager_OpenRawFile64 (const NativeResourceManager * mgr, const char * fileName )
564```
565
566**描述**
567
568打开较大的rawfile文件,打开后可以读取它的数据。
569
570**起始版本:** 11
571
572**参数:**
573
574| 名称 | 描述 |
575| -------- | -------- |
576| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。 |
577| fileName | 表示基于rawfile根目录的相对路径下的文件名称。 |
578
579**返回:**
580
581返回[RawFile64](#rawfile64)指针。当使用完此指针,调用[OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64)释放。如果失败或者mgr和fileName为空时返回空指针。
582
583**参见:**
584
585[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
586
587[OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64)
588
589
590### OH_ResourceManager_ReadRawFile()
591
592```
593int OH_ResourceManager_ReadRawFile (const RawFile * rawFile, void * buf, size_t length )
594```
595
596**描述**
597
598读取rawfile内容,从当前位置读取指定长度的数据。
599
600**起始版本:** 8
601
602**参数:**
603
604| 名称 | 描述 |
605| -------- | -------- |
606| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
607| buf | 用于接收读取数据的缓冲区指针。 |
608| length | 读取数据的字节长度。 |
609
610**返回:**
611
612返回读取的字节数,如果读取长度超过文件末尾长度或者rawfile为空时,则返回0。
613
614
615### OH_ResourceManager_ReadRawFile64()
616
617```
618int64_t OH_ResourceManager_ReadRawFile64 (const RawFile64 * rawFile, void * buf, int64_t length )
619```
620
621**描述**
622
623读取较大的rawfile文件内容,从当前位置读取指定长度的数据。
624
625**起始版本:** 11
626
627**参数:**
628
629| 名称 | 描述 |
630| -------- | -------- |
631| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
632| buf | 用于接收读取数据的缓冲区指针。 |
633| length | 读取数据的字节长度。 |
634
635**返回:**
636
637返回读取的字节数,如果读取长度超过文件末尾长度或者rawfile为空时,则返回0。
638
639
640### OH_ResourceManager_ReleaseNativeResourceManager()
641
642```
643void OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager * resMgr)
644```
645
646**描述**
647
648释放native侧ResourceManager。
649
650**起始版本:** 8
651
652**参数:**
653
654| 名称 | 描述 |
655| -------- | -------- |
656| resMgr | 表示[NativeResourceManager](#nativeresourcemanager)指针。 |
657
658
659### OH_ResourceManager_ReleaseRawFileDescriptor()
660
661```
662bool OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor & descriptor)
663```
664
665**描述**
666
667关闭rawfile文件描述符。
668
669已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露。
670
671**起始版本:** 8
672
673**参数:**
674
675| 名称 | 描述 |
676| -------- | -------- |
677| descriptor | 包含rawfile文件描述符,以及在HAP包中的起始位置和长度。 |
678
679**返回:**
680
681返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败。
682
683
684### OH_ResourceManager_ReleaseRawFileDescriptor64()
685
686```
687bool OH_ResourceManager_ReleaseRawFileDescriptor64 (const RawFileDescriptor64 * descriptor)
688```
689
690**描述**
691
692关闭rawfile文件描述符。
693
694已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露。
695
696**起始版本:** 11
697
698**参数:**
699
700| 名称 | 描述 |
701| -------- | -------- |
702| descriptor | 包含rawfile文件描述符,以及在HAP包中的起始位置和长度。 |
703
704**返回:**
705
706返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败。
707
708
709### OH_ResourceManager_SeekRawFile()
710
711```
712int OH_ResourceManager_SeekRawFile (const RawFile * rawFile, long offset, int whence )
713```
714
715**描述**
716
717基于指定的偏移量,在rawfile文件内搜索读写数据的位置。
718
719**起始版本:** 8
720
721**参数:**
722
723| 名称 | 描述 |
724| -------- | -------- |
725| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
726| offset | 表示指定的偏移量。 |
727| whence | 读写位置,有以下场景:<br/>0: 读写位置为文件起始位置加上offset。<br/>1: 读写位置为当前位置加上offset。<br/>2: 读写位置为文件末尾加上offset。 |
728
729**返回:**
730
731如果搜索成功返回0,如果发生错误返回-1。
732
733
734### OH_ResourceManager_SeekRawFile64()
735
736```
737int OH_ResourceManager_SeekRawFile64 (const RawFile64 * rawFile, int64_t offset, int whence )
738```
739
740**描述**
741
742基于指定的偏移量,在较大的rawfile文件内搜索读写数据的位置。
743
744**起始版本:** 11
745
746**参数:**
747
748| 名称 | 描述 |
749| -------- | -------- |
750| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
751| offset | 表示指定的偏移量。 |
752| whence | 读写位置,有以下场景:<br/>0: 读写位置为文件起始位置加上offset。<br/>1: 读写位置为当前位置加上offset。<br/>2: 读写位置为文件末尾加上offset。 |
753
754**返回:**
755
756如果搜索成功返回0,如果发生错误返回-1。