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