1e41f4b71Sopenharmony_ci# Rawfile
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci## Overview
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ciProvides the function of operating rawfile directories and rawfiles. You can use the APIs to traverse, open, search for, read, and close raw files. The **rawfile** APIs are non-thread-safe, and the **close** and **open** APIs are thread-safe.
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci**Since**: 8
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## Summary
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci### Files
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci| Name| Description| 
17e41f4b71Sopenharmony_ci| -------- | -------- |
18e41f4b71Sopenharmony_ci| [raw_dir.h](raw__dir_8h.md) | Provides functions related to the **rawfile** directory.| 
19e41f4b71Sopenharmony_ci| [raw_file.h](raw__file_8h.md) | Provides functions related to rawfiles, including searching for, reading, and closing rawfiles.| 
20e41f4b71Sopenharmony_ci| [raw_file_manager.h](raw__file__manager_8h.md) | Provides file management functions for the **rawfile** directory. You can use the **ResourceManager** to open a rawfile and perform operations such as data search and reading.| 
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci### Structs
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci| Name| Description| 
26e41f4b71Sopenharmony_ci| -------- | -------- |
27e41f4b71Sopenharmony_ci| struct  [RawFileDescriptor](_raw_file_descriptor.md) | Defines the file descriptor information of a file in the **rawfile** directory.| 
28e41f4b71Sopenharmony_ci| struct  [RawFileDescriptor64](_raw_file_descriptor64.md) | Defines the file descriptor of a large rawfile.| 
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci### Types
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci| Name| Description| 
34e41f4b71Sopenharmony_ci| -------- | -------- |
35e41f4b71Sopenharmony_ci| typedef struct [RawDir](#rawdir)[RawDir](#rawdir) | Provides access to the **rawfile** directory.| 
36e41f4b71Sopenharmony_ci| typedef struct [RawFile](#rawfile)[RawFile](#rawfile) | Provides access to rawfiles.| 
37e41f4b71Sopenharmony_ci| typedef struct [RawFile64](#rawfile64)[RawFile64](#rawfile64) | Provides access to large rawfiles.| 
38e41f4b71Sopenharmony_ci| typedef struct [NativeResourceManager](#nativeresourcemanager)[NativeResourceManager](#nativeresourcemanager) | Represents the native **ResourceManager**.| 
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci### Functions
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci| Name| Description| 
44e41f4b71Sopenharmony_ci| -------- | -------- |
45e41f4b71Sopenharmony_ci| const char \* [OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename) ([RawDir](#rawdir) \*rawDir, int index) | Obtains the name of a file in **rawfile** based on the index.| 
46e41f4b71Sopenharmony_ci| int [OH_ResourceManager_GetRawFileCount](#oh_resourcemanager_getrawfilecount) ([RawDir](#rawdir) \*rawDir) | Obtains the number of files in a [RawDir](#rawdir).| 
47e41f4b71Sopenharmony_ci| void [OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir) ([RawDir](#rawdir) \*rawDir) | Closes a [RawDir](#rawdir) and releases all associated resources.| 
48e41f4b71Sopenharmony_ci| int [OH_ResourceManager_ReadRawFile](#oh_resourcemanager_readrawfile) (const [RawFile](#rawfile) \*rawFile, void \*buf, size_t length) | Reads data of the specified length from the current position in a rawfile.| 
49e41f4b71Sopenharmony_ci| int [OH_ResourceManager_SeekRawFile](#oh_resourcemanager_seekrawfile) (const [RawFile](#rawfile) \*rawFile, long offset, int whence) | Searches for the data read/write position in a rawfile based on the specified offset.| 
50e41f4b71Sopenharmony_ci| long [OH_ResourceManager_GetRawFileSize](#oh_resourcemanager_getrawfilesize) ([RawFile](#rawfile) \*rawFile) | Obtains the length of the rawfile, in long.| 
51e41f4b71Sopenharmony_ci| long [OH_ResourceManager_GetRawFileRemainingLength](#oh_resourcemanager_getrawfileremaininglength) (const [RawFile](#rawfile) \*rawFile) | Obtains the remaining length of the rawfile, in long.| 
52e41f4b71Sopenharmony_ci| void [OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile) ([RawFile](#rawfile) \*rawFile) | Closes a [RawFile](#rawfile) and releases all associated resources.| 
53e41f4b71Sopenharmony_ci| long [OH_ResourceManager_GetRawFileOffset](#oh_resourcemanager_getrawfileoffset) (const [RawFile](#rawfile) \*rawFile) | Obtains the current offset of a rawfile, in long.| 
54e41f4b71Sopenharmony_ci| bool [OH_ResourceManager_GetRawFileDescriptor](#oh_resourcemanager_getrawfiledescriptor) (const [RawFile](#rawfile) \*rawFile, [RawFileDescriptor](_raw_file_descriptor.md) &descriptor) | Opens a rawfile based on the specified offset (in long) and file length (in long) and obtains the file descriptor.| 
55e41f4b71Sopenharmony_ci| bool [OH_ResourceManager_ReleaseRawFileDescriptor](#oh_resourcemanager_releaserawfiledescriptor) (const [RawFileDescriptor](_raw_file_descriptor.md) &descriptor) | Releases a file descriptor.| 
56e41f4b71Sopenharmony_ci| int64_t [OH_ResourceManager_ReadRawFile64](#oh_resourcemanager_readrawfile64) (const [RawFile64](#rawfile64) \*rawFile, void \*buf, int64_t length) | Reads data of the specified length from the current position in a large rawfile.| 
57e41f4b71Sopenharmony_ci| int [OH_ResourceManager_SeekRawFile64](#oh_resourcemanager_seekrawfile64) (const [RawFile64](#rawfile64) \*rawFile, int64_t offset, int whence) | Searches for the data read/write position in a large rawfile based on the specified offset.| 
58e41f4b71Sopenharmony_ci| int64_t [OH_ResourceManager_GetRawFileSize64](#oh_resourcemanager_getrawfilesize64) ([RawFile64](#rawfile64) \*rawFile) | Obtains the length of a large rawfile, in int64_t.| 
59e41f4b71Sopenharmony_ci| int64_t [OH_ResourceManager_GetRawFileRemainingLength64](#oh_resourcemanager_getrawfileremaininglength64) (const [RawFile64](#rawfile64) \*rawFile) | Obtains the remaining length of a large rawfile, in int64_t.| 
60e41f4b71Sopenharmony_ci| void [OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64) ([RawFile64](#rawfile64) \*rawFile) | Closes a [RawFile64](#rawfile64) and releases all associated resources.| 
61e41f4b71Sopenharmony_ci| int64_t [OH_ResourceManager_GetRawFileOffset64](#oh_resourcemanager_getrawfileoffset64) (const [RawFile64](#rawfile64) \*rawFile) | Obtains the offset of a large rawfile, in int64_t.| 
62e41f4b71Sopenharmony_ci| bool [OH_ResourceManager_GetRawFileDescriptor64](#oh_resourcemanager_getrawfiledescriptor64) (const [RawFile64](#rawfile64) \*rawFile, [RawFileDescriptor64](_raw_file_descriptor64.md) \*descriptor) | Opens a large rawfile based on the specified offset (in int64_t) and file length (in int64_t) and obtains the file descriptor.| 
63e41f4b71Sopenharmony_ci| bool [OH_ResourceManager_ReleaseRawFileDescriptor64](#oh_resourcemanager_releaserawfiledescriptor64) (const [RawFileDescriptor64](_raw_file_descriptor64.md) \*descriptor) | Releases a file descriptor.| 
64e41f4b71Sopenharmony_ci| [NativeResourceManager](#nativeresourcemanager) \* [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager) (napi_env env, napi_value jsResMgr) | Obtains the native **ResourceManager** based on the JS **ResourceManager** to implement rawfile-specific functions.| 
65e41f4b71Sopenharmony_ci| void [OH_ResourceManager_ReleaseNativeResourceManager](#oh_resourcemanager_releasenativeresourcemanager) ([NativeResourceManager](#nativeresourcemanager) \*resMgr) | Releases the native **ResourceManager**.| 
66e41f4b71Sopenharmony_ci| [RawDir](#rawdir) \* [OH_ResourceManager_OpenRawDir](#oh_resourcemanager_openrawdir) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*dirName) | Traverses all files in the **rawfile** directory.| 
67e41f4b71Sopenharmony_ci| [RawFile](#rawfile) \* [OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*fileName) | Opens a rawfile and reads the data in it.| 
68e41f4b71Sopenharmony_ci| [RawFile64](#rawfile64) \* [OH_ResourceManager_OpenRawFile64](#oh_resourcemanager_openrawfile64) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*fileName) | Opens a large rawfile and reads the data in it.| 
69e41f4b71Sopenharmony_ci| bool [OH_ResourceManager_IsRawDir](#oh_resourcemanager_israwdir) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*path) | Checks whether a path is a subdirectory in the **rawfile** directory.| 
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci## Type Description
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci### NativeResourceManager
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci```
78e41f4b71Sopenharmony_citypedef struct NativeResourceManagerNativeResourceManager
79e41f4b71Sopenharmony_ci```
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci**Description**
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ciRepresents the native **ResourceManager**.
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ciThis class encapsulates the native implementation of the JavaScript resource manager. The **ResourceManager** pointer can be obtained by using [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager).
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**Since**: 8
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci### RawDir
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci```
93e41f4b71Sopenharmony_citypedef struct RawDirRawDir
94e41f4b71Sopenharmony_ci```
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci**Description**
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ciProvides access to the **rawfile** directory.
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci**Since**: 8
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci### RawFile
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci```
106e41f4b71Sopenharmony_citypedef struct RawFileRawFile
107e41f4b71Sopenharmony_ci```
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci**Description**
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ciProvides access to rawfiles.
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_ci**Since**: 8
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci### RawFile64
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci```
119e41f4b71Sopenharmony_citypedef struct RawFile64RawFile64
120e41f4b71Sopenharmony_ci```
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ci**Description**
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ciProvides access to large rawfiles.
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci**Since**: 11
127e41f4b71Sopenharmony_ci
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci## Function Description
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci### OH_ResourceManager_CloseRawDir()
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci```
135e41f4b71Sopenharmony_civoid OH_ResourceManager_CloseRawDir (RawDir * rawDir)
136e41f4b71Sopenharmony_ci```
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci**Description**
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_ciCloses a [RawDir](#rawdir) opened and releases all associated resources.
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci**Since**: 8
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci**Parameters**
145e41f4b71Sopenharmony_ci
146e41f4b71Sopenharmony_ci| Name| Description| 
147e41f4b71Sopenharmony_ci| -------- | -------- |
148e41f4b71Sopenharmony_ci| rawDir | Pointer to the [RawDir](#rawdir).| 
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ci**See**
151e41f4b71Sopenharmony_ci
152e41f4b71Sopenharmony_ci[OH_ResourceManager_OpenRawDir](#oh_resourcemanager_openrawdir)
153e41f4b71Sopenharmony_ci
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci### OH_ResourceManager_CloseRawFile()
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ci```
158e41f4b71Sopenharmony_civoid OH_ResourceManager_CloseRawFile (RawFile * rawFile)
159e41f4b71Sopenharmony_ci```
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_ci**Description**
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_ciCloses a [RawFile](#rawfile) and releases all associated resources.
164e41f4b71Sopenharmony_ci
165e41f4b71Sopenharmony_ci**Since**: 8
166e41f4b71Sopenharmony_ci
167e41f4b71Sopenharmony_ci**Parameters**
168e41f4b71Sopenharmony_ci
169e41f4b71Sopenharmony_ci| Name| Description| 
170e41f4b71Sopenharmony_ci| -------- | -------- |
171e41f4b71Sopenharmony_ci| rawFile | Pointer to the [RawFile](#rawfile) to read.| 
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ci**See**
174e41f4b71Sopenharmony_ci
175e41f4b71Sopenharmony_ci[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci### OH_ResourceManager_CloseRawFile64()
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci```
181e41f4b71Sopenharmony_civoid OH_ResourceManager_CloseRawFile64 (RawFile64 * rawFile)
182e41f4b71Sopenharmony_ci```
183e41f4b71Sopenharmony_ci
184e41f4b71Sopenharmony_ci**Description**
185e41f4b71Sopenharmony_ci
186e41f4b71Sopenharmony_ciCloses a [RawFile64](#rawfile64) and releases all associated resources.
187e41f4b71Sopenharmony_ci
188e41f4b71Sopenharmony_ci**Since**: 11
189e41f4b71Sopenharmony_ci
190e41f4b71Sopenharmony_ci**Parameters**
191e41f4b71Sopenharmony_ci
192e41f4b71Sopenharmony_ci| Name| Description| 
193e41f4b71Sopenharmony_ci| -------- | -------- |
194e41f4b71Sopenharmony_ci| rawFile | Pointer to [RawFile64](#rawfile64).| 
195e41f4b71Sopenharmony_ci
196e41f4b71Sopenharmony_ci**See**
197e41f4b71Sopenharmony_ci
198e41f4b71Sopenharmony_ci[OH_ResourceManager_OpenRawFile64](#oh_resourcemanager_openrawfile64)
199e41f4b71Sopenharmony_ci
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileCount()
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ci```
204e41f4b71Sopenharmony_ciint OH_ResourceManager_GetRawFileCount (RawDir * rawDir)
205e41f4b71Sopenharmony_ci```
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci**Description**
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ciObtains the number of files in a [RawDir](#rawdir).
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ciYou can use this function to obtain available indexes in [OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename).
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci**Since**: 8
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci**Parameters**
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci| Name| Description| 
218e41f4b71Sopenharmony_ci| -------- | -------- |
219e41f4b71Sopenharmony_ci| rawDir | Pointer to the [RawDir](#rawdir).| 
220e41f4b71Sopenharmony_ci
221e41f4b71Sopenharmony_ci**See**
222e41f4b71Sopenharmony_ci
223e41f4b71Sopenharmony_ci[OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename)
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci**Returns**
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ciNumber of files in **rawDir**. If **rawDir** is empty, **0** is returned.
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci
230e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileDescriptor()
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_ci```
233e41f4b71Sopenharmony_cibool OH_ResourceManager_GetRawFileDescriptor (const RawFile * rawFile, RawFileDescriptor & descriptor )
234e41f4b71Sopenharmony_ci```
235e41f4b71Sopenharmony_ci
236e41f4b71Sopenharmony_ci**Description**
237e41f4b71Sopenharmony_ci
238e41f4b71Sopenharmony_ciOpens a rawfile based on the specified offset (in long) and file length (in long) and obtains the file descriptor.
239e41f4b71Sopenharmony_ci
240e41f4b71Sopenharmony_ciThe file descriptor obtained can be used to read the file.
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci**Since**: 8
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_ci**Parameters**
245e41f4b71Sopenharmony_ci
246e41f4b71Sopenharmony_ci| Name| Description| 
247e41f4b71Sopenharmony_ci| -------- | -------- |
248e41f4b71Sopenharmony_ci| rawFile | Pointer to the [RawFile](#rawfile) to read.| 
249e41f4b71Sopenharmony_ci| descriptor | File descriptor of the rawfile, start position of the rawfile in the HAP, and length of the rawfile.| 
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_ci**Returns**
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_ci<b>true</b> if the file is opened; returns <b>false</b> if the access to the file is rejected.
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci
256e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileDescriptor64()
257e41f4b71Sopenharmony_ci
258e41f4b71Sopenharmony_ci```
259e41f4b71Sopenharmony_cibool OH_ResourceManager_GetRawFileDescriptor64 (const RawFile64 * rawFile, RawFileDescriptor64 * descriptor )
260e41f4b71Sopenharmony_ci```
261e41f4b71Sopenharmony_ci
262e41f4b71Sopenharmony_ci**Description**
263e41f4b71Sopenharmony_ci
264e41f4b71Sopenharmony_ciOpens a large rawfile based on the specified offset (in int64_t) and file length (in int64_t) and obtains the file descriptor.
265e41f4b71Sopenharmony_ci
266e41f4b71Sopenharmony_ciThe file descriptor obtained can be used to read the file.
267e41f4b71Sopenharmony_ci
268e41f4b71Sopenharmony_ci**Since**: 11
269e41f4b71Sopenharmony_ci
270e41f4b71Sopenharmony_ci**Parameters**
271e41f4b71Sopenharmony_ci
272e41f4b71Sopenharmony_ci| Name| Description| 
273e41f4b71Sopenharmony_ci| -------- | -------- |
274e41f4b71Sopenharmony_ci| rawFile | Pointer to [RawFile64](#rawfile64).| 
275e41f4b71Sopenharmony_ci| File descriptor of the rawfile, start position of the rawfile in the HAP, and length of the rawfile.|  | 
276e41f4b71Sopenharmony_ci
277e41f4b71Sopenharmony_ci**Returns**
278e41f4b71Sopenharmony_ci
279e41f4b71Sopenharmony_ci<b>true</b> if the file is opened; <b>false</b> if the access to the file is rejected.
280e41f4b71Sopenharmony_ci
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileName()
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci```
285e41f4b71Sopenharmony_ciconst char* OH_ResourceManager_GetRawFileName (RawDir * rawDir, int index )
286e41f4b71Sopenharmony_ci```
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ci**Description**
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ciObtain the name of the rawfile file through the index. You can use this method to traverse the rawfile directory.
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci**Since**: 8
293e41f4b71Sopenharmony_ci
294e41f4b71Sopenharmony_ci**Parameters**
295e41f4b71Sopenharmony_ci
296e41f4b71Sopenharmony_ci| Name| Description| 
297e41f4b71Sopenharmony_ci| -------- | -------- |
298e41f4b71Sopenharmony_ci| rawDir | Pointer to the [RawDir](#rawdir).| 
299e41f4b71Sopenharmony_ci| index | Index of the file in the [RawDir](#rawdir).| 
300e41f4b71Sopenharmony_ci
301e41f4b71Sopenharmony_ci**Returns**
302e41f4b71Sopenharmony_ci
303e41f4b71Sopenharmony_ciFile name obtained if the rawfile exists in the directory; returns **null** otherwise. The file name returned can be used as the input parameter of [OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile).
304e41f4b71Sopenharmony_ci
305e41f4b71Sopenharmony_ci**See**
306e41f4b71Sopenharmony_ci
307e41f4b71Sopenharmony_ci[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)
308e41f4b71Sopenharmony_ci
309e41f4b71Sopenharmony_ci
310e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileOffset()
311e41f4b71Sopenharmony_ci
312e41f4b71Sopenharmony_ci```
313e41f4b71Sopenharmony_cilong OH_ResourceManager_GetRawFileOffset (const RawFile * rawFile)
314e41f4b71Sopenharmony_ci```
315e41f4b71Sopenharmony_ci
316e41f4b71Sopenharmony_ci**Description**
317e41f4b71Sopenharmony_ci
318e41f4b71Sopenharmony_ciObtains the current offset of a rawfile, in long.
319e41f4b71Sopenharmony_ci
320e41f4b71Sopenharmony_ciCurrent offset of the rawfile.
321e41f4b71Sopenharmony_ci
322e41f4b71Sopenharmony_ci**Since**: 8
323e41f4b71Sopenharmony_ci
324e41f4b71Sopenharmony_ci**Parameters**
325e41f4b71Sopenharmony_ci
326e41f4b71Sopenharmony_ci| Name| Description| 
327e41f4b71Sopenharmony_ci| -------- | -------- |
328e41f4b71Sopenharmony_ci| rawFile | Pointer to the [RawFile](#rawfile) to read.| 
329e41f4b71Sopenharmony_ci
330e41f4b71Sopenharmony_ci**Returns**
331e41f4b71Sopenharmony_ci
332e41f4b71Sopenharmony_ciCurrent offset of the rawfile. If the rawfile is empty, **0** is returned.
333e41f4b71Sopenharmony_ci
334e41f4b71Sopenharmony_ci
335e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileOffset64()
336e41f4b71Sopenharmony_ci
337e41f4b71Sopenharmony_ci```
338e41f4b71Sopenharmony_ciint64_t OH_ResourceManager_GetRawFileOffset64 (const RawFile64 * rawFile)
339e41f4b71Sopenharmony_ci```
340e41f4b71Sopenharmony_ci
341e41f4b71Sopenharmony_ci**Description**
342e41f4b71Sopenharmony_ci
343e41f4b71Sopenharmony_ciObtains the offset of a large rawfile, in int64_t.
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_ci**Since**: 11
346e41f4b71Sopenharmony_ci
347e41f4b71Sopenharmony_ci**Parameters**
348e41f4b71Sopenharmony_ci
349e41f4b71Sopenharmony_ci| Name| Description| 
350e41f4b71Sopenharmony_ci| -------- | -------- |
351e41f4b71Sopenharmony_ci| rawFile | Pointer to [RawFile64](#rawfile64).| 
352e41f4b71Sopenharmony_ci
353e41f4b71Sopenharmony_ci**Returns**
354e41f4b71Sopenharmony_ci
355e41f4b71Sopenharmony_ciReturns the current offset of the rawfile. If the rawfile is empty, 0 is returned.
356e41f4b71Sopenharmony_ci
357e41f4b71Sopenharmony_ci
358e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileRemainingLength()
359e41f4b71Sopenharmony_ci
360e41f4b71Sopenharmony_ci```
361e41f4b71Sopenharmony_cilong OH_ResourceManager_GetRawFileRemainingLength (const RawFile * rawFile)
362e41f4b71Sopenharmony_ci```
363e41f4b71Sopenharmony_ci
364e41f4b71Sopenharmony_ci**Description**
365e41f4b71Sopenharmony_ci
366e41f4b71Sopenharmony_ciObtains the remaining length of the rawfile, in long.
367e41f4b71Sopenharmony_ci
368e41f4b71Sopenharmony_ci**Since**: 11
369e41f4b71Sopenharmony_ci
370e41f4b71Sopenharmony_ci**Parameters**
371e41f4b71Sopenharmony_ci
372e41f4b71Sopenharmony_ci| Name| Description| 
373e41f4b71Sopenharmony_ci| -------- | -------- |
374e41f4b71Sopenharmony_ci| rawFile | Pointer to the [RawFile](#rawfile) to read.| 
375e41f4b71Sopenharmony_ci
376e41f4b71Sopenharmony_ci**Returns**
377e41f4b71Sopenharmony_ci
378e41f4b71Sopenharmony_ciRemaining length of the rawfile. If the rawfile is empty, **0** is returned.
379e41f4b71Sopenharmony_ci
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileRemainingLength64()
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ci```
384e41f4b71Sopenharmony_ciint64_t OH_ResourceManager_GetRawFileRemainingLength64 (const RawFile64 * rawFile)
385e41f4b71Sopenharmony_ci```
386e41f4b71Sopenharmony_ci
387e41f4b71Sopenharmony_ci**Description**
388e41f4b71Sopenharmony_ci
389e41f4b71Sopenharmony_ciObtains the remaining length of a large rawfile, in int64_t.
390e41f4b71Sopenharmony_ci
391e41f4b71Sopenharmony_ci**Since**: 11
392e41f4b71Sopenharmony_ci
393e41f4b71Sopenharmony_ci**Parameters**
394e41f4b71Sopenharmony_ci
395e41f4b71Sopenharmony_ci| Name| Description| 
396e41f4b71Sopenharmony_ci| -------- | -------- |
397e41f4b71Sopenharmony_ci| rawFile | Pointer to [RawFile64](#rawfile64).| 
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci**Returns**
400e41f4b71Sopenharmony_ci
401e41f4b71Sopenharmony_ciRemaining length of the rawfile. If the rawfile is empty, **0** is returned.
402e41f4b71Sopenharmony_ci
403e41f4b71Sopenharmony_ci
404e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileSize()
405e41f4b71Sopenharmony_ci
406e41f4b71Sopenharmony_ci```
407e41f4b71Sopenharmony_cilong OH_ResourceManager_GetRawFileSize (RawFile * rawFile)
408e41f4b71Sopenharmony_ci```
409e41f4b71Sopenharmony_ci
410e41f4b71Sopenharmony_ci**Description**
411e41f4b71Sopenharmony_ci
412e41f4b71Sopenharmony_ciObtains the length of the rawfile, in long.
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci**Since**: 8
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci**Parameters**
417e41f4b71Sopenharmony_ci
418e41f4b71Sopenharmony_ci| Name| Description| 
419e41f4b71Sopenharmony_ci| -------- | -------- |
420e41f4b71Sopenharmony_ci| rawFile | Pointer to the [RawFile](#rawfile) to read.| 
421e41f4b71Sopenharmony_ci
422e41f4b71Sopenharmony_ci**Returns**
423e41f4b71Sopenharmony_ci
424e41f4b71Sopenharmony_ciOverall length of the rawfile. If the rawfile is empty, **0** is returned.
425e41f4b71Sopenharmony_ci
426e41f4b71Sopenharmony_ci
427e41f4b71Sopenharmony_ci### OH_ResourceManager_GetRawFileSize64()
428e41f4b71Sopenharmony_ci
429e41f4b71Sopenharmony_ci```
430e41f4b71Sopenharmony_ciint64_t OH_ResourceManager_GetRawFileSize64 (RawFile64 * rawFile)
431e41f4b71Sopenharmony_ci```
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci**Description**
434e41f4b71Sopenharmony_ci
435e41f4b71Sopenharmony_ciObtains the length of a large rawfile, in int64_t.
436e41f4b71Sopenharmony_ci
437e41f4b71Sopenharmony_ci**Since**: 11
438e41f4b71Sopenharmony_ci
439e41f4b71Sopenharmony_ci**Parameters**
440e41f4b71Sopenharmony_ci
441e41f4b71Sopenharmony_ci| Name| Description| 
442e41f4b71Sopenharmony_ci| -------- | -------- |
443e41f4b71Sopenharmony_ci| rawFile | Pointer to [RawFile64](#rawfile64).| 
444e41f4b71Sopenharmony_ci
445e41f4b71Sopenharmony_ci**Returns**
446e41f4b71Sopenharmony_ci
447e41f4b71Sopenharmony_ciOverall length of the rawfile. If the rawfile is empty, **0** is returned.
448e41f4b71Sopenharmony_ci
449e41f4b71Sopenharmony_ci
450e41f4b71Sopenharmony_ci### OH_ResourceManager_InitNativeResourceManager()
451e41f4b71Sopenharmony_ci
452e41f4b71Sopenharmony_ci```
453e41f4b71Sopenharmony_ciNativeResourceManager* OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr )
454e41f4b71Sopenharmony_ci```
455e41f4b71Sopenharmony_ci
456e41f4b71Sopenharmony_ci**Description**
457e41f4b71Sopenharmony_ci
458e41f4b71Sopenharmony_ciObtains the native **ResourceManager** based on the JS **ResourceManager** to implement rawfile-specific functions.
459e41f4b71Sopenharmony_ci
460e41f4b71Sopenharmony_ci**Since**: 8
461e41f4b71Sopenharmony_ci
462e41f4b71Sopenharmony_ci**Parameters**
463e41f4b71Sopenharmony_ci
464e41f4b71Sopenharmony_ci| Name| Description| 
465e41f4b71Sopenharmony_ci| -------- | -------- |
466e41f4b71Sopenharmony_ci| env | Pointer to the JS native API (napi) environment.| 
467e41f4b71Sopenharmony_ci| jsResMgr | JS **ResourceManager**.| 
468e41f4b71Sopenharmony_ci
469e41f4b71Sopenharmony_ci**Returns**
470e41f4b71Sopenharmony_ci
471e41f4b71Sopenharmony_ciPointer to [NativeResourceManager](#nativeresourcemanager). If the operation fails, a null pointer is returned.
472e41f4b71Sopenharmony_ci
473e41f4b71Sopenharmony_ci
474e41f4b71Sopenharmony_ci### OH_ResourceManager_IsRawDir()
475e41f4b71Sopenharmony_ci
476e41f4b71Sopenharmony_ci```
477e41f4b71Sopenharmony_cibool OH_ResourceManager_IsRawDir (const NativeResourceManager * mgr, const char * path )
478e41f4b71Sopenharmony_ci```
479e41f4b71Sopenharmony_ci
480e41f4b71Sopenharmony_ci**Description**
481e41f4b71Sopenharmony_ci
482e41f4b71Sopenharmony_ciChecks whether a path is a subdirectory in the **rawfile** directory.
483e41f4b71Sopenharmony_ci
484e41f4b71Sopenharmony_ci**Since**: 12
485e41f4b71Sopenharmony_ci
486e41f4b71Sopenharmony_ci**Parameters**
487e41f4b71Sopenharmony_ci
488e41f4b71Sopenharmony_ci| Name| Description| 
489e41f4b71Sopenharmony_ci| -------- | -------- |
490e41f4b71Sopenharmony_ci| mgr | Pointer to the [NativeResourceManager](#nativeresourcemanager), which is obtained by using [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager).| 
491e41f4b71Sopenharmony_ci| path | Path of a rawfile.| 
492e41f4b71Sopenharmony_ci
493e41f4b71Sopenharmony_ci**Returns**
494e41f4b71Sopenharmony_ci
495e41f4b71Sopenharmony_ci**true** if the path is a subdirectory in the **rawfile** directory; **false** otherwise.
496e41f4b71Sopenharmony_ci
497e41f4b71Sopenharmony_ci
498e41f4b71Sopenharmony_ci### OH_ResourceManager_OpenRawDir()
499e41f4b71Sopenharmony_ci
500e41f4b71Sopenharmony_ci```
501e41f4b71Sopenharmony_ciRawDir* OH_ResourceManager_OpenRawDir (const NativeResourceManager * mgr, const char * dirName )
502e41f4b71Sopenharmony_ci```
503e41f4b71Sopenharmony_ci
504e41f4b71Sopenharmony_ci**Description**
505e41f4b71Sopenharmony_ci
506e41f4b71Sopenharmony_ciTraverses all files in the **rawfile** directory.
507e41f4b71Sopenharmony_ci
508e41f4b71Sopenharmony_ci**Since**: 8
509e41f4b71Sopenharmony_ci
510e41f4b71Sopenharmony_ci**Parameters**
511e41f4b71Sopenharmony_ci
512e41f4b71Sopenharmony_ci| Name| Description| 
513e41f4b71Sopenharmony_ci| -------- | -------- |
514e41f4b71Sopenharmony_ci| mgr | Pointer to the [NativeResourceManager](#nativeresourcemanager), which is obtained by using [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager).| 
515e41f4b71Sopenharmony_ci| dirName | Pointer to the name of the directory to open. If this field is left empty, the root directory will be opened.| 
516e41f4b71Sopenharmony_ci
517e41f4b71Sopenharmony_ci**Returns**
518e41f4b71Sopenharmony_ci
519e41f4b71Sopenharmony_ciPointer to the [RawDir](#rawdir). You can use [OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir) to close the directory and release resources. If the operation fails or **mgr** is empty, a null pointer is returned.
520e41f4b71Sopenharmony_ci
521e41f4b71Sopenharmony_ci**See**
522e41f4b71Sopenharmony_ci
523e41f4b71Sopenharmony_ci[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
524e41f4b71Sopenharmony_ci
525e41f4b71Sopenharmony_ci[OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir)
526e41f4b71Sopenharmony_ci
527e41f4b71Sopenharmony_ci
528e41f4b71Sopenharmony_ci### OH_ResourceManager_OpenRawFile()
529e41f4b71Sopenharmony_ci
530e41f4b71Sopenharmony_ci```
531e41f4b71Sopenharmony_ciRawFile* OH_ResourceManager_OpenRawFile (const NativeResourceManager * mgr, const char * fileName )
532e41f4b71Sopenharmony_ci```
533e41f4b71Sopenharmony_ci
534e41f4b71Sopenharmony_ci**Description**
535e41f4b71Sopenharmony_ci
536e41f4b71Sopenharmony_ciOpens a rawfile and reads the data in it.
537e41f4b71Sopenharmony_ci
538e41f4b71Sopenharmony_ci**Since**: 8
539e41f4b71Sopenharmony_ci
540e41f4b71Sopenharmony_ci**Parameters**
541e41f4b71Sopenharmony_ci
542e41f4b71Sopenharmony_ci| Name| Description| 
543e41f4b71Sopenharmony_ci| -------- | -------- |
544e41f4b71Sopenharmony_ci| mgr | Pointer to the [NativeResourceManager](#nativeresourcemanager), which is obtained by using [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager).| 
545e41f4b71Sopenharmony_ci| fileName | Pointer to the name of the file in the relative path of the **rawfile** root directory.| 
546e41f4b71Sopenharmony_ci
547e41f4b71Sopenharmony_ci**Returns**
548e41f4b71Sopenharmony_ci
549e41f4b71Sopenharmony_ciPointer to the [RawFile](#rawfile) opened. You can use [OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile) to close the rawfile and release resources. If the operation fails or **mgr** or **fileName** is empty, a null pointer is returned.
550e41f4b71Sopenharmony_ci
551e41f4b71Sopenharmony_ci**See**
552e41f4b71Sopenharmony_ci
553e41f4b71Sopenharmony_ci[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
554e41f4b71Sopenharmony_ci
555e41f4b71Sopenharmony_ci[OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile)
556e41f4b71Sopenharmony_ci
557e41f4b71Sopenharmony_ci
558e41f4b71Sopenharmony_ci### OH_ResourceManager_OpenRawFile64()
559e41f4b71Sopenharmony_ci
560e41f4b71Sopenharmony_ci```
561e41f4b71Sopenharmony_ciRawFile64* OH_ResourceManager_OpenRawFile64 (const NativeResourceManager * mgr, const char * fileName )
562e41f4b71Sopenharmony_ci```
563e41f4b71Sopenharmony_ci
564e41f4b71Sopenharmony_ci**Description**
565e41f4b71Sopenharmony_ci
566e41f4b71Sopenharmony_ciOpens a large rawfile and reads the data in it.
567e41f4b71Sopenharmony_ci
568e41f4b71Sopenharmony_ci**Since**: 11
569e41f4b71Sopenharmony_ci
570e41f4b71Sopenharmony_ci**Parameters**
571e41f4b71Sopenharmony_ci
572e41f4b71Sopenharmony_ci| Name| Description| 
573e41f4b71Sopenharmony_ci| -------- | -------- |
574e41f4b71Sopenharmony_ci| mgr | Pointer to the [NativeResourceManager](#nativeresourcemanager), which is obtained by using [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager).| 
575e41f4b71Sopenharmony_ci| fileName | Pointer to the name of the file in the relative path of the **rawfile** root directory.| 
576e41f4b71Sopenharmony_ci
577e41f4b71Sopenharmony_ci**Returns**
578e41f4b71Sopenharmony_ci
579e41f4b71Sopenharmony_ciPointer to [RawFile64](#rawfile64). After this pointer is used, call [OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64) to release it. If the operation fails or **mgr** or **fileName** is empty, a null pointer is returned.
580e41f4b71Sopenharmony_ci
581e41f4b71Sopenharmony_ci**See**
582e41f4b71Sopenharmony_ci
583e41f4b71Sopenharmony_ci[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
584e41f4b71Sopenharmony_ci
585e41f4b71Sopenharmony_ci[OH_ResourceManager_CloseRawFile64](#oh_resourcemanager_closerawfile64)
586e41f4b71Sopenharmony_ci
587e41f4b71Sopenharmony_ci
588e41f4b71Sopenharmony_ci### OH_ResourceManager_ReadRawFile()
589e41f4b71Sopenharmony_ci
590e41f4b71Sopenharmony_ci```
591e41f4b71Sopenharmony_ciint OH_ResourceManager_ReadRawFile (const RawFile * rawFile, void * buf, size_t length )
592e41f4b71Sopenharmony_ci```
593e41f4b71Sopenharmony_ci
594e41f4b71Sopenharmony_ci**Description**
595e41f4b71Sopenharmony_ci
596e41f4b71Sopenharmony_ciReads data of the specified length from the current position in a rawfile.
597e41f4b71Sopenharmony_ci
598e41f4b71Sopenharmony_ci**Since**: 8
599e41f4b71Sopenharmony_ci
600e41f4b71Sopenharmony_ci**Parameters**
601e41f4b71Sopenharmony_ci
602e41f4b71Sopenharmony_ci| Name| Description| 
603e41f4b71Sopenharmony_ci| -------- | -------- |
604e41f4b71Sopenharmony_ci| rawFile | Pointer to the [RawFile](#rawfile) to read.| 
605e41f4b71Sopenharmony_ci| buf | Pointer to the buffer for receiving the read data.| 
606e41f4b71Sopenharmony_ci| length | Length of the data to read.| 
607e41f4b71Sopenharmony_ci
608e41f4b71Sopenharmony_ci**Returns**
609e41f4b71Sopenharmony_ci
610e41f4b71Sopenharmony_ciNumber of read bytes. If the read length exceeds the length of the file end or rawfile is empty, **0** is returned.
611e41f4b71Sopenharmony_ci
612e41f4b71Sopenharmony_ci
613e41f4b71Sopenharmony_ci### OH_ResourceManager_ReadRawFile64()
614e41f4b71Sopenharmony_ci
615e41f4b71Sopenharmony_ci```
616e41f4b71Sopenharmony_ciint64_t OH_ResourceManager_ReadRawFile64 (const RawFile64 * rawFile, void * buf, int64_t length )
617e41f4b71Sopenharmony_ci```
618e41f4b71Sopenharmony_ci
619e41f4b71Sopenharmony_ci**Description**
620e41f4b71Sopenharmony_ci
621e41f4b71Sopenharmony_ciReads data of the specified length from the current position in a large rawfile.
622e41f4b71Sopenharmony_ci
623e41f4b71Sopenharmony_ci**Since**: 11
624e41f4b71Sopenharmony_ci
625e41f4b71Sopenharmony_ci**Parameters**
626e41f4b71Sopenharmony_ci
627e41f4b71Sopenharmony_ci| Name| Description| 
628e41f4b71Sopenharmony_ci| -------- | -------- |
629e41f4b71Sopenharmony_ci| rawFile | Pointer to [RawFile64](#rawfile64).| 
630e41f4b71Sopenharmony_ci| buf | Pointer to the buffer for receiving the read data.| 
631e41f4b71Sopenharmony_ci| length | Length of the data to read.| 
632e41f4b71Sopenharmony_ci
633e41f4b71Sopenharmony_ci**Returns**
634e41f4b71Sopenharmony_ci
635e41f4b71Sopenharmony_ciNumber of read bytes. If the read length exceeds the length of the file end or rawfile is empty, **0** is returned.
636e41f4b71Sopenharmony_ci
637e41f4b71Sopenharmony_ci
638e41f4b71Sopenharmony_ci### OH_ResourceManager_ReleaseNativeResourceManager()
639e41f4b71Sopenharmony_ci
640e41f4b71Sopenharmony_ci```
641e41f4b71Sopenharmony_civoid OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager * resMgr)
642e41f4b71Sopenharmony_ci```
643e41f4b71Sopenharmony_ci
644e41f4b71Sopenharmony_ci**Description**
645e41f4b71Sopenharmony_ci
646e41f4b71Sopenharmony_ciReleases the native **ResourceManager**.
647e41f4b71Sopenharmony_ci
648e41f4b71Sopenharmony_ci**Since**: 8
649e41f4b71Sopenharmony_ci
650e41f4b71Sopenharmony_ci**Parameters**
651e41f4b71Sopenharmony_ci
652e41f4b71Sopenharmony_ci| Name| Description| 
653e41f4b71Sopenharmony_ci| -------- | -------- |
654e41f4b71Sopenharmony_ci| resMgr | Pointer to the [NativeResourceManager](#nativeresourcemanager) instance to release.| 
655e41f4b71Sopenharmony_ci
656e41f4b71Sopenharmony_ci
657e41f4b71Sopenharmony_ci### OH_ResourceManager_ReleaseRawFileDescriptor()
658e41f4b71Sopenharmony_ci
659e41f4b71Sopenharmony_ci```
660e41f4b71Sopenharmony_cibool OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor & descriptor)
661e41f4b71Sopenharmony_ci```
662e41f4b71Sopenharmony_ci
663e41f4b71Sopenharmony_ci**Description**
664e41f4b71Sopenharmony_ci
665e41f4b71Sopenharmony_ciReleases the file descriptor of a file in **rawfile**.
666e41f4b71Sopenharmony_ci
667e41f4b71Sopenharmony_ciTo prevent file descriptor leakage, you are advised to release a rawfile descriptor immediately after use.
668e41f4b71Sopenharmony_ci
669e41f4b71Sopenharmony_ci**Since**: 8
670e41f4b71Sopenharmony_ci
671e41f4b71Sopenharmony_ci**Parameters**
672e41f4b71Sopenharmony_ci
673e41f4b71Sopenharmony_ci| Name| Description| 
674e41f4b71Sopenharmony_ci| -------- | -------- |
675e41f4b71Sopenharmony_ci| descriptor | File descriptor of the rawfile. It contains the file descriptor, start position in the HAP, and file length.| 
676e41f4b71Sopenharmony_ci
677e41f4b71Sopenharmony_ci**Returns**
678e41f4b71Sopenharmony_ci
679e41f4b71Sopenharmony_ciReturns <b>true</b> if the file descriptor is released; returns <b>false</b> otherwise.
680e41f4b71Sopenharmony_ci
681e41f4b71Sopenharmony_ci
682e41f4b71Sopenharmony_ci### OH_ResourceManager_ReleaseRawFileDescriptor64()
683e41f4b71Sopenharmony_ci
684e41f4b71Sopenharmony_ci```
685e41f4b71Sopenharmony_cibool OH_ResourceManager_ReleaseRawFileDescriptor64 (const RawFileDescriptor64 * descriptor)
686e41f4b71Sopenharmony_ci```
687e41f4b71Sopenharmony_ci
688e41f4b71Sopenharmony_ci**Description**
689e41f4b71Sopenharmony_ci
690e41f4b71Sopenharmony_ciReleases the file descriptor of a file in **rawfile**.
691e41f4b71Sopenharmony_ci
692e41f4b71Sopenharmony_ciTo prevent file descriptor leakage, you are advised to release a rawfile descriptor immediately after use.
693e41f4b71Sopenharmony_ci
694e41f4b71Sopenharmony_ci**Since**: 11
695e41f4b71Sopenharmony_ci
696e41f4b71Sopenharmony_ci**Parameters**
697e41f4b71Sopenharmony_ci
698e41f4b71Sopenharmony_ci| Name| Description| 
699e41f4b71Sopenharmony_ci| -------- | -------- |
700e41f4b71Sopenharmony_ci| descriptor | File descriptor of the rawfile. It contains the file descriptor, start position in the HAP, and file length.| 
701e41f4b71Sopenharmony_ci
702e41f4b71Sopenharmony_ci**Returns**
703e41f4b71Sopenharmony_ci
704e41f4b71Sopenharmony_ci<b>true</b> if the file descriptor is released; <b>false</b> otherwise.
705e41f4b71Sopenharmony_ci
706e41f4b71Sopenharmony_ci
707e41f4b71Sopenharmony_ci### OH_ResourceManager_SeekRawFile()
708e41f4b71Sopenharmony_ci
709e41f4b71Sopenharmony_ci```
710e41f4b71Sopenharmony_ciint OH_ResourceManager_SeekRawFile (const RawFile * rawFile, long offset, int whence )
711e41f4b71Sopenharmony_ci```
712e41f4b71Sopenharmony_ci
713e41f4b71Sopenharmony_ci**Description**
714e41f4b71Sopenharmony_ci
715e41f4b71Sopenharmony_ciSearches for the data read/write position in a rawfile based on the specified offset.
716e41f4b71Sopenharmony_ci
717e41f4b71Sopenharmony_ci**Since**: 8
718e41f4b71Sopenharmony_ci
719e41f4b71Sopenharmony_ci**Parameters**
720e41f4b71Sopenharmony_ci
721e41f4b71Sopenharmony_ci| Name| Description| 
722e41f4b71Sopenharmony_ci| -------- | -------- |
723e41f4b71Sopenharmony_ci| rawFile | Pointer to the [RawFile](#rawfile) to read.| 
724e41f4b71Sopenharmony_ci| offset | Specified offset.| 
725e41f4b71Sopenharmony_ci| whence | Read/Write position. The options are as follows:<br>**0**: The read/write position is the start position of the file plus the offset.<br>**1**: The read/write position is the current position plus the offset.<br>**2**: The read/write position is the end position of the file plus the offset.| 
726e41f4b71Sopenharmony_ci
727e41f4b71Sopenharmony_ci**Returns**
728e41f4b71Sopenharmony_ci
729e41f4b71Sopenharmony_ci**0** if the search is successful; **-1** otherwise.
730e41f4b71Sopenharmony_ci
731e41f4b71Sopenharmony_ci
732e41f4b71Sopenharmony_ci### OH_ResourceManager_SeekRawFile64()
733e41f4b71Sopenharmony_ci
734e41f4b71Sopenharmony_ci```
735e41f4b71Sopenharmony_ciint OH_ResourceManager_SeekRawFile64 (const RawFile64 * rawFile, int64_t offset, int whence )
736e41f4b71Sopenharmony_ci```
737e41f4b71Sopenharmony_ci
738e41f4b71Sopenharmony_ci**Description**
739e41f4b71Sopenharmony_ci
740e41f4b71Sopenharmony_ciSearches for the data read/write position in a large rawfile based on the specified offset.
741e41f4b71Sopenharmony_ci
742e41f4b71Sopenharmony_ci**Since**: 11
743e41f4b71Sopenharmony_ci
744e41f4b71Sopenharmony_ci**Parameters**
745e41f4b71Sopenharmony_ci
746e41f4b71Sopenharmony_ci| Name| Description| 
747e41f4b71Sopenharmony_ci| -------- | -------- |
748e41f4b71Sopenharmony_ci| rawFile | Pointer to [RawFile64](#rawfile64).| 
749e41f4b71Sopenharmony_ci| offset | Specified offset.| 
750e41f4b71Sopenharmony_ci| whence | Read/Write position. The options are as follows:<br>**0**: The read/write position is the start position of the file plus the offset.<br>**1**: The read/write position is the current position plus the offset.<br>**2**: The read/write position is the end position of the file plus the offset.| 
751e41f4b71Sopenharmony_ci
752e41f4b71Sopenharmony_ci**Returns**
753e41f4b71Sopenharmony_ci
754e41f4b71Sopenharmony_ci**0** if the search is successful; **-1** otherwise.
755