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,并获取e文件描述符。 |
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 NativeResourceManagerNativeResourceManager
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 RawDirRawDir
94```
95
96**描述**
97
98提供对rawfile目录的访问。
99
100**起始版本:** 8
101
102
103### RawFile
104
105```
106typedef struct RawFileRawFile
107```
108
109**描述**
110
111提供对rawfile的访问功能。
112
113**起始版本:** 8
114
115
116### RawFile64
117
118```
119typedef struct RawFile64RawFile64
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,并获取e文件描述符。
265
266打开的文件描述符被用于读取rawfile。
267
268**起始版本:** 11
269
270**参数:**
271
272| 名称 | 描述 |
273| -------- | -------- |
274| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
275| 显示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文件名称,可以使用此方法遍历rawfile目录。
291
292**起始版本:** 8
293
294**参数:**
295
296| 名称 | 描述 |
297| -------- | -------- |
298| rawDir | 表示指向[RawDir](#rawdir)的指针。 |
299| index | 表示文件在[RawDir](#rawdir)中的索引位置。 |
300
301**返回:**
302
303通过索引返回文件名称,此返回值可以作为[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)的输入参数, 如果遍历完所有文件仍未找到,则返回NULL。
304
305**参见:**
306
307[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)
308
309
310### OH_ResourceManager_GetRawFileOffset()
311
312```
313long OH_ResourceManager_GetRawFileOffset (const RawFile * rawFile)
314```
315
316**描述**
317
318获取rawfile当前的偏移量,单位为long。
319
320rawfile当前的偏移量。
321
322**起始版本:** 8
323
324**参数:**
325
326| 名称 | 描述 |
327| -------- | -------- |
328| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
329
330**返回:**
331
332返回rawfile当前的偏移量,如果rawfile为空时返回0。
333
334
335### OH_ResourceManager_GetRawFileOffset64()
336
337```
338int64_t OH_ResourceManager_GetRawFileOffset64 (const RawFile64 * rawFile)
339```
340
341**描述**
342
343获取较大rawfile文件的偏移量,单位为int64_t。
344
345**起始版本:** 11
346
347**参数:**
348
349| 名称 | 描述 |
350| -------- | -------- |
351| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
352
353**返回:**
354
355返回rawfile当前的偏移量,如果rawfile为空时返回0。
356
357
358### OH_ResourceManager_GetRawFileRemainingLength()
359
360```
361long OH_ResourceManager_GetRawFileRemainingLength (const RawFile * rawFile)
362```
363
364**描述**
365
366获取rawfile的剩余长度,单位为long。
367
368**起始版本:** 11
369
370**参数:**
371
372| 名称 | 描述 |
373| -------- | -------- |
374| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
375
376**返回:**
377
378返回rawfile的剩余长度,如果rawfile为空时返回0。
379
380
381### OH_ResourceManager_GetRawFileRemainingLength64()
382
383```
384int64_t OH_ResourceManager_GetRawFileRemainingLength64 (const RawFile64 * rawFile)
385```
386
387**描述**
388
389获取较大rawfile的剩余长度,单位为int64_t。
390
391**起始版本:** 11
392
393**参数:**
394
395| 名称 | 描述 |
396| -------- | -------- |
397| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
398
399**返回:**
400
401返回rawfile的剩余长度,如果rawfile为空时返回0。
402
403
404### OH_ResourceManager_GetRawFileSize()
405
406```
407long OH_ResourceManager_GetRawFileSize (RawFile * rawFile)
408```
409
410**描述**
411
412获取rawfile长度,单位为long。
413
414**起始版本:** 8
415
416**参数:**
417
418| 名称 | 描述 |
419| -------- | -------- |
420| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
421
422**返回:**
423
424返回rawfile的整体长度,如果rawfile为空时返回0。
425
426
427### OH_ResourceManager_GetRawFileSize64()
428
429```
430int64_t OH_ResourceManager_GetRawFileSize64 (RawFile64 * rawFile)
431```
432
433**描述**
434
435获取较大rawfile文件的长度,单位为int64_t。
436
437**起始版本:** 11
438
439**参数:**
440
441| 名称 | 描述 |
442| -------- | -------- |
443| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
444
445**返回:**
446
447返回rawfile的整体长度,如果rawfile为空时返回0。
448
449
450### OH_ResourceManager_InitNativeResourceManager()
451
452```
453NativeResourceManager* OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr )
454```
455
456**描述**
457
458基于JavaScipt侧的ResourceManager获取native侧的ResourceManager,用来完成rawfile相关功能。
459
460**起始版本:** 8
461
462**参数:**
463
464| 名称 | 描述 |
465| -------- | -------- |
466| env | 表示JavaScipt Native Interface (napi)环境指针。 |
467| jsResMgr | 表示JavaScipt resource manager。 |
468
469**返回:**
470
471返回[NativeResourceManager](#nativeresourcemanager)指针,如果失败返回空指针。
472
473
474### OH_ResourceManager_IsRawDir()
475
476```
477bool OH_ResourceManager_IsRawDir (const NativeResourceManager * mgr, const char * path )
478```
479
480**描述**
481
482判断路径是否是rawfile下的目录。
483
484**起始版本:** 12
485
486**参数:**
487
488| 名称 | 描述 |
489| -------- | -------- |
490| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。 |
491| path | rawfile路径 |
492
493**返回:**
494
495返回true表示是rawfile下的目录,返回false表示不是rawfile下的目录。
496
497
498### OH_ResourceManager_OpenRawDir()
499
500```
501RawDir* OH_ResourceManager_OpenRawDir (const NativeResourceManager * mgr, const char * dirName )
502```
503
504**描述**
505
506打开rawfile目录,打开后可以遍历对应目录下的rawfile文件。
507
508**起始版本:** 8
509
510**参数:**
511
512| 名称 | 描述 |
513| -------- | -------- |
514| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针是通过调用 [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取的。 |
515| dirName | 表示要打开的rawfile目录名称,当传递一个空字符串时表示打开rawfile根目录。 |
516
517**返回:**
518
519返回[RawDir](#rawdir)指针。使用完此指针后,调用[OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir)释放。如果失败或者mgr为空时返回空指针。
520
521**参见:**
522
523[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
524
525[OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir)
526
527
528### OH_ResourceManager_OpenRawFile()
529
530```
531RawFile* OH_ResourceManager_OpenRawFile (const NativeResourceManager * mgr, const char * fileName )
532```
533
534**描述**
535
536打开rawfile文件,打开后可以读取它的数据。
537
538**起始版本:** 8
539
540**参数:**
541
542| 名称 | 描述 |
543| -------- | -------- |
544| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。 |
545| fileName | 表示基于rawfile根目录的相对路径下的文件名称。 |
546
547**返回:**
548
549返回[RawFile](#rawfile)指针。当使用完此指针,调用[OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile)释放。如果失败或者mgr和fileName为空时返回空指针。
550
551**参见:**
552
553[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
554
555[OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile)
556
557
558### OH_ResourceManager_OpenRawFile64()
559
560```
561RawFile64* OH_ResourceManager_OpenRawFile64 (const NativeResourceManager * mgr, const char * fileName )
562```
563
564**描述**
565
566打开较大的rawfile文件,打开后可以读取它的数据。
567
568**起始版本:** 11
569
570**参数:**
571
572| 名称 | 描述 |
573| -------- | -------- |
574| mgr | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。 |
575| fileName | 表示基于rawfile根目录的相对路径下的文件名称。 |
576
577**返回:**
578
579返回[RawFile64](#rawfile64)指针。当使用完此指针,调用[OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64)释放。如果失败或者mgr和fileName为空时返回空指针。
580
581**参见:**
582
583[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
584
585[OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64)
586
587
588### OH_ResourceManager_ReadRawFile()
589
590```
591int OH_ResourceManager_ReadRawFile (const RawFile * rawFile, void * buf, size_t length )
592```
593
594**描述**
595
596读取rawfile内容,从当前位置读取指定长度的数据。
597
598**起始版本:** 8
599
600**参数:**
601
602| 名称 | 描述 |
603| -------- | -------- |
604| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
605| buf | 用于接收读取数据的缓冲区指针。 |
606| length | 读取数据的字节长度 |
607
608**返回:**
609
610返回读取的字节数,如果读取长度超过文件末尾长度或者rawfile为空时,则返回0。
611
612
613### OH_ResourceManager_ReadRawFile64()
614
615```
616int64_t OH_ResourceManager_ReadRawFile64 (const RawFile64 * rawFile, void * buf, int64_t length )
617```
618
619**描述**
620
621读取较大的rawfile文件内容,从当前位置读取指定长度的数据。
622
623**起始版本:** 11
624
625**参数:**
626
627| 名称 | 描述 |
628| -------- | -------- |
629| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
630| buf | 用于接收读取数据的缓冲区指针。 |
631| length | 读取数据的字节长度。 |
632
633**返回:**
634
635返回读取的字节数,如果读取长度超过文件末尾长度或者rawfile为空时,则返回0。
636
637
638### OH_ResourceManager_ReleaseNativeResourceManager()
639
640```
641void OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager * resMgr)
642```
643
644**描述**
645
646释放native侧ResourceManager。
647
648**起始版本:** 8
649
650**参数:**
651
652| 名称 | 描述 |
653| -------- | -------- |
654| resMgr | 表示[NativeResourceManager](#nativeresourcemanager)指针。 |
655
656
657### OH_ResourceManager_ReleaseRawFileDescriptor()
658
659```
660bool OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor & descriptor)
661```
662
663**描述**
664
665关闭rawfile文件描述符。
666
667已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露。
668
669**起始版本:** 8
670
671**参数:**
672
673| 名称 | 描述 |
674| -------- | -------- |
675| descriptor | 包含rawfile文件描述符,以及在HAP包中的起始位置和长度。 |
676
677**返回:**
678
679返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败。
680
681
682### OH_ResourceManager_ReleaseRawFileDescriptor64()
683
684```
685bool OH_ResourceManager_ReleaseRawFileDescriptor64 (const RawFileDescriptor64 * descriptor)
686```
687
688**描述**
689
690关闭rawfile文件描述符。
691
692已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露。
693
694**起始版本:** 11
695
696**参数:**
697
698| 名称 | 描述 |
699| -------- | -------- |
700| descriptor | 包含rawfile文件描述符,以及在HAP包中的起始位置和长度。 |
701
702**返回:**
703
704返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败。
705
706
707### OH_ResourceManager_SeekRawFile()
708
709```
710int OH_ResourceManager_SeekRawFile (const RawFile * rawFile, long offset, int whence )
711```
712
713**描述**
714
715基于指定的偏移量,在rawfile文件内搜索读写数据的位置。
716
717**起始版本:** 8
718
719**参数:**
720
721| 名称 | 描述 |
722| -------- | -------- |
723| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
724| offset | 表示指定的偏移量。 |
725| whence | 读写位置,有以下场景:<br/>0: 读写位置为文件起始位置加上offset<br/>1: 读写位置为当前位置加上offset<br/>2: 读写位置为文件末尾加上offset |
726
727**返回:**
728
729如果搜索成功返回(int) 0,如果发生错误返回 (int) -1。
730
731
732### OH_ResourceManager_SeekRawFile64()
733
734```
735int OH_ResourceManager_SeekRawFile64 (const RawFile64 * rawFile, int64_t offset, int whence )
736```
737
738**描述**
739
740基于指定的偏移量,在较大的rawfile文件内搜索读写数据的位置。
741
742**起始版本:** 11
743
744**参数:**
745
746| 名称 | 描述 |
747| -------- | -------- |
748| rawFile | 表示指向[RawFile64](#rawfile64)的指针。 |
749| offset | 表示指定的偏移量。 |
750| whence | 读写位置,有以下场景:<br/>0: 读写位置为文件起始位置加上offset<br/>1: 读写位置为当前位置加上offset<br/>2: 读写位置为文件末尾加上offset |
751
752**返回:**
753
754如果搜索成功返回 (int) 0,如果发生错误返回 (int) -1。
755