# Resourcemanager ## Overview Provides C APIs for obtaining resources. **Since**: 12 ## Summary ### File | Name| Description| | -------- | -------- | | [ohresmgr.h](ohresmgr_8h.md) | Provides native APIs for obtaining resources.| | [resmgr_common.h](resmgr__common_8h.md) | Provides the enum types and structures for resource manager APIs.| ### Structs | Name| Description| | -------- | -------- | | struct  [ResourceManager_Configuration](_resource_manager___configuration.md) | Enumerates device states.| ### Types | Name| Description| | -------- | -------- | | typedef enum [ResourceManager_Direction](#resourcemanager_direction) [ResourceManager_Direction](#resourcemanager_direction) | Enumerates screen orientations.| | typedef enum [ResourceManager_ColorMode](#resourcemanager_colormode) [ResourceManager_ColorMode](#resourcemanager_colormode) | Enumerates color modes.| | typedef enum [ResourceManager_DeviceType](#resourcemanager_devicetype) [ResourceManager_DeviceType](#resourcemanager_devicetype) | Enumerates device types.| | typedef struct [ResourceManager_Configuration](_resource_manager___configuration.md) [ResourceManager_Configuration](#resourcemanager_configuration) | Enumerates device states.| ### Enum | Name| Description| | -------- | -------- | | [ResourceManager_ErrorCode](#resourcemanager_errorcode) {
SUCCESS = 0, ERROR_CODE_INVALID_INPUT_PARAMETER = 401, ERROR_CODE_RES_ID_NOT_FOUND = 9001001, ERROR_CODE_RES_NOT_FOUND_BY_ID = 9001002,
ERROR_CODE_RES_NAME_NOT_FOUND = 9001003, ERROR_CODE_RES_NOT_FOUND_BY_NAME = 9001004, ERROR_CODE_RES_PATH_INVALID = 9001005, ERROR_CODE_RES_REF_TOO_MUCH = 9001006,
ERROR_CODE_RES_ID_FORMAT_ERROR = 9001007, ERROR_CODE_RES_NAME_FORMAT_ERROR = 9001008, ERROR_CODE_SYSTEM_RES_MANAGER_GET_FAILED = 9001009, ERROR_CODE_OVERLAY_RES_PATH_INVALID = 9001010,
ERROR_CODE_OUT_OF_MEMORY = 9001100
} | Enumerates resource manager error codes.| | [ScreenDensity](#screendensity) {
SCREEN_SDPI = 120, SCREEN_MDPI = 160, SCREEN_LDPI = 240, SCREEN_XLDPI = 320,
SCREEN_XXLDPI = 480, SCREEN_XXXLDPI = 640
} | Enumerates screen density types.| | [ResourceManager_Direction](#resourcemanager_direction) { DIRECTION_VERTICAL = 0, DIRECTION_HORIZONTAL = 1 } | Enumerates screen orientations.| | [ResourceManager_ColorMode](#resourcemanager_colormode) { DARK = 0, LIGHT = 1 } | Enumerates color modes.| | [ResourceManager_DeviceType](#resourcemanager_devicetype) {
DEVICE_TYPE_PHONE = 0X00, DEVICE_TYPE_TABLET = 0x01, DEVICE_TYPE_CAR = 0x02, DEVICE_TYPE_PC = 0x03,
DEVICE_TYPE_TV = 0x04, DEVICE_TYPE_WEARABLE = 0x06, DEVICE_TYPE_2IN1 = 0x07
} | Enumerates device types.| ### Callback | Name| Description| | -------- | -------- | | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMediaBase64](#oh_resourcemanager_getmediabase64) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, char \*\*resultValue, uint64_t \*resultLen, uint32_t density=0) | Obtains the Base64 code of the media resource with the specified screen density based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMediaBase64Data](#oh_resourcemanager_getmediabase64data) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, char \*\*resultValue, uint64_t \*resultLen, uint32_t density) | Obtains the Base64 code of the media resource with the specified screen density based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMediaBase64ByName](#oh_resourcemanager_getmediabase64byname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, char \*\*resultValue, uint64_t \*resultLen, uint32_t density=0) | Obtains the Base64 code of the media resource with the specified screen density based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMediaBase64DataByName](#oh_resourcemanager_getmediabase64databyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, char \*\*resultValue, uint64_t \*resultLen, uint32_t density) | Obtains the Base64 code of the media resource with the specified screen density based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMedia](#oh_resourcemanager_getmedia) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, uint8_t \*\*resultValue, uint64_t \*resultLen, uint32_t density=0) | Obtains the content of the media resource with the specified screen density based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMediaData](#oh_resourcemanager_getmediadata) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, uint8_t \*\*resultValue, uint64_t \*resultLen, uint32_t density) | Obtains the content of the media resource with the specified screen density based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMediaByName](#oh_resourcemanager_getmediabyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, uint8_t \*\*resultValue, uint64_t \*resultLen, uint32_t density=0) | Obtains the content of the media resource with the specified screen density based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetMediaDataByName](#oh_resourcemanager_getmediadatabyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, uint8_t \*\*resultValue, uint64_t \*resultLen, uint32_t density) | Obtains the content of the media resource with the specified screen density based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetDrawableDescriptor](#oh_resourcemanager_getdrawabledescriptor) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, ArkUI_DrawableDescriptor \*\*drawableDescriptor, uint32_t density=0, uint32_t type=0) | Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetDrawableDescriptorData](#oh_resourcemanager_getdrawabledescriptordata) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, ArkUI_DrawableDescriptor \*\*drawableDescriptor, uint32_t density, uint32_t type) | Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetDrawableDescriptorByName](#oh_resourcemanager_getdrawabledescriptorbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, ArkUI_DrawableDescriptor \*\*drawableDescriptor, uint32_t density=0, uint32_t type=0) | Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetDrawableDescriptorDataByName](#oh_resourcemanager_getdrawabledescriptordatabyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, ArkUI_DrawableDescriptor \*\*drawableDescriptor, uint32_t density, uint32_t type) | Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetSymbol](#oh_resourcemanager_getsymbol) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, uint32_t \*resultValue) | Obtains a **symbol** resource based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetSymbolByName](#oh_resourcemanager_getsymbolbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, uint32_t \*resultValue) | Obtains a **symbol** resource based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetLocales](#oh_resourcemanager_getlocales) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, char \*\*\*resultValue, uint32_t \*resultLen, bool includeSystem=false) | Obtains the language list.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetLocalesData](#oh_resourcemanager_getlocalesdata) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, char \*\*\*resultValue, uint32_t \*resultLen, bool includeSystem) | Obtains the language list.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetConfiguration](#oh_resourcemanager_getconfiguration) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, [ResourceManager_Configuration](_resource_manager___configuration.md) \*configuration) | Obtains the device configuration.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_ReleaseConfiguration](#oh_resourcemanager_releaseconfiguration) ([ResourceManager_Configuration](_resource_manager___configuration.md) \*configuration) | Releases the memory requested by using **OH_ResourceManager_GetConfiguration()**.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetString](#oh_resourcemanager_getstring) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, char \*\*resultValue,...) | Obtains a **string** resource based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetStringByName](#oh_resourcemanager_getstringbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, char \*\*resultValue,...) | Obtains a **string** resource based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetStringArray](#oh_resourcemanager_getstringarray) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, char \*\*\*resultValue, uint32_t \*resultLen) | Obtains a string array based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetStringArrayByName](#oh_resourcemanager_getstringarraybyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, char \*\*\*resultValue, uint32_t \*resultLen) | Obtains a string array based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_ReleaseStringArray](#oh_resourcemanager_releasestringarray) (char \*\*\*resValue, uint32_t len) | Releases the memory of the string array.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetPluralString](#oh_resourcemanager_getpluralstring) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, uint32_t num, char \*\*resultValue) | Obtains singular and plural strings based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetPluralStringByName](#oh_resourcemanager_getpluralstringbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, uint32_t num, char \*\*resultValue) | Obtains singular and plural strings based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode)[OH_ResourceManager_GetIntPluralString](#oh_resourcemanager_getintpluralstring) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, uint32_t num, char \*\*resultValue,...) | Obtains singular and plural strings based on the specified resource ID. | | [ResourceManager_ErrorCode](#resourcemanager_errorcode)[OH_ResourceManager_GetDoublePluralString](#oh_resourcemanager_getdoublepluralstring) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, double num, char \*\*resultValue,...) | Obtains singular and plural strings based on the specified resource ID. | | [ResourceManager_ErrorCode](#resourcemanager_errorcode)[OH_ResourceManager_GetIntPluralStringByName](#oh_resourcemanager_getintpluralstringbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, uint32_t num, char \*\*resultValue,...) | Obtains singular and plural strings based on the specified resource name. | | [ResourceManager_ErrorCode](#resourcemanager_errorcode)[OH_ResourceManager_GetDoublePluralStringByName](#oh_resourcemanager_getdoublepluralstringbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, double num, char \*\*resultValue,...) | Obtains singular and plural strings based on the specified resource name. | | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetColor](#oh_resourcemanager_getcolor) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, uint32_t \*resultValue) | Obtains a color value based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetColorByName](#oh_resourcemanager_getcolorbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, uint32_t \*resultValue) | Obtains a color value based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetInt](#oh_resourcemanager_getint) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, int \*resultValue) | Obtains an int value based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetIntByName](#oh_resourcemanager_getintbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, int \*resultValue) | Obtains an int value based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetFloat](#oh_resourcemanager_getfloat) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, float \*resultValue) | Obtains a float value based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetFloatByName](#oh_resourcemanager_getfloatbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, float \*resultValue) | Obtains a float value based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetBool](#oh_resourcemanager_getbool) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, uint32_t resId, bool \*resultValue) | Obtains a bool value based on the specified resource ID.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_GetBoolByName](#oh_resourcemanager_getboolbyname) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*resName, bool \*resultValue) | Obtains a bool value based on the specified resource name.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_AddResource](#oh_resourcemanager_addresource) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*path) | Adds overlay resources when an application is running.| | [ResourceManager_ErrorCode](#resourcemanager_errorcode) [OH_ResourceManager_RemoveResource](#oh_resourcemanager_removeresource) (const [NativeResourceManager](rawfile.md#nativeresourcemanager) \*mgr, const char \*path) | Removes overlay resources when an application is running.| ## Type Description ### ResourceManager_ColorMode ``` typedef enum ResourceManager_ColorModeResourceManager_ColorMode ``` **Description** Enumerates color modes. **Since**: 12 ### ResourceManager_Configuration ``` typedef struct ResourceManager_ConfigurationResourceManager_Configuration ``` **Description** Enumerates device states. **Since**: 12 ### ResourceManager_DeviceType ``` typedef enum ResourceManager_DeviceTypeResourceManager_DeviceType ``` **Description** Enumerates device types. **Since**: 12 ### ResourceManager_Direction ``` typedef enum ResourceManager_DirectionResourceManager_Direction ``` **Description** Enumerates screen orientations. **Since**: 12 ## Enum Description ### ResourceManager_ColorMode ``` enum ResourceManager_ColorMode ``` **Description** Enumerates color modes. **Since**: 12 | Value| Description| | -------- | -------- | | DARK | Dark mode.| | LIGHT | Light mode.| ### ResourceManager_DeviceType ``` enum ResourceManager_DeviceType ``` **Description** Enumerates device types. **Since**: 12 | Value| Description| | -------- | -------- | | DEVICE_TYPE_PHONE | Phone| | DEVICE_TYPE_TABLET | Tablet| | DEVICE_TYPE_CAR | Automobile| | DEVICE_TYPE_PC | Computer| | DEVICE_TYPE_TV | TV| | DEVICE_TYPE_WEARABLE | Wearable| | DEVICE_TYPE_2IN1 | 2-in-1 device| ### ResourceManager_Direction ``` enum ResourceManager_Direction ``` **Description** Enumerates screen orientations. **Since**: 12 | Value| Description| | -------- | -------- | | DIRECTION_VERTICAL | Vertical direction.| | DIRECTION_HORIZONTAL | Horizontal direction.| ### ResourceManager_ErrorCode ``` enum ResourceManager_ErrorCode ``` **Description** Enumerates resource manager error codes. **Since**: 12 | Value| Description| | -------- | -------- | | SUCCESS | Success.| | ERROR_CODE_INVALID_INPUT_PARAMETER | Invalid input parameter.| | ERROR_CODE_RES_ID_NOT_FOUND | Invalid resource ID.| | ERROR_CODE_RES_NOT_FOUND_BY_ID | Invalid resource name.| | ERROR_CODE_RES_NAME_NOT_FOUND | No matching resource found based on the resource ID.| | ERROR_CODE_RES_NOT_FOUND_BY_NAME | No matching resource found based on the resource name.| | ERROR_CODE_RES_PATH_INVALID | Invalid relative path.| | ERROR_CODE_RES_REF_TOO_MUCH | Resource referenced cyclically.| | ERROR_CODE_RES_ID_FORMAT_ERROR | Failed to format the resource obtained based on the specified resource ID.| | ERROR_CODE_RES_NAME_FORMAT_ERROR | Failed to format the resource obtained based on the specified resource name.| | ERROR_CODE_SYSTEM_RES_MANAGER_GET_FAILED | Failed to access system resources.| | ERROR_CODE_OVERLAY_RES_PATH_INVALID | Invalid overlay path.| | ERROR_CODE_OUT_OF_MEMORY | Memory overflow.| ### ScreenDensity ``` enum ScreenDensity ``` **Description** Enumerates screen density types. **Since**: 12 | Value| Description| | -------- | -------- | | SCREEN_SDPI | Screen density with small-scale dots per inch (SDPI).| | SCREEN_MDPI | Screen density with medium-scale dots per inch (MDPI).| | SCREEN_LDPI | Screen density with large-scale dots per inch (LDPI).| | SCREEN_XLDPI | Screen density with extra-large-scale dots per inch (XLDPI).| | SCREEN_XXLDPI | Screen density with extra-extra-large-scale dots per inch (XXLDPI).| | SCREEN_XXXLDPI | Screen density with extra-extra-extra-large-scale dots per inch (XXXLDPI).| ## Function Description ### OH_ResourceManager_AddResource() ``` ResourceManager_ErrorCode OH_ResourceManager_AddResource (const NativeResourceManager * mgr, const char * path ) ``` **Description** Adds overlay resources when an application is running. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | path | Resource path.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_OVERLAY_RES_PATH_INVALID 9001010 - The resource path is invalid. ### OH_ResourceManager_GetBool() ``` ResourceManager_ErrorCode OH_ResourceManager_GetBool (const NativeResourceManager * mgr, uint32_t resId, bool * resultValue ) ``` **Description** Obtains a bool value based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetBoolByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetBoolByName (const NativeResourceManager * mgr, const char * resName, bool * resultValue ) ``` **Description** Obtains a bool value based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetColor() ``` ResourceManager_ErrorCode OH_ResourceManager_GetColor (const NativeResourceManager * mgr, uint32_t resId, uint32_t * resultValue ) ``` **Description** Obtains a color value based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetColorByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetColorByName (const NativeResourceManager * mgr, const char * resName, uint32_t * resultValue ) ``` **Description** Obtains a color value based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetConfiguration() ``` ResourceManager_ErrorCode OH_ResourceManager_GetConfiguration (const NativeResourceManager * mgr, ResourceManager_Configuration * configuration ) ``` **Description** Obtains the device configuration. After using this API, you need to call **OH_ResourceManager_ReleaseConfiguration()** to release the memory. If the **ResourceManager_Configuration** object is created by using malloc, call **free()** to release the object. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | configuration | Device configuration.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_SYSTEM_RES_MANAGER_GET_FAILED 9001009 - Failed to access system resources. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetDoublePluralString() ``` ResourceManager_ErrorCode OH_ResourceManager_GetDoublePluralString (const NativeResourceManager * mgr, uint32_t resId, double num, char ** resultValue, ... ) ``` **Description** Obtains singular and plural strings based on the specified resource ID. After using this API, you need to call **free()** to release the memory of the strings. **Since**: 18 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager). | | resId | Resource ID. | | num | Quantity value (a floating point number), Its string representation is obtained based on the current language's plural rules. | | resultValue | Result of writing **resultValue**. | | ... | Variable representing formatted string resources. Supported types include const char\*, int, and float. | **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetDoublePluralStringByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetDoublePluralStringByName (const NativeResourceManager * mgr, const char * resName, double num, char ** resultValue, ... ) ``` **Description** Obtains singular and plural strings based on the specified resource name. After using this API, you need to call **free()** to release the memory of the strings. **Since**: 18 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager). | | resName | Resource name. | | num | Quantity value (a floating point number), The string representation is obtained based on the current language's plural rules. | | resultValue | Result of writing **resultValue**. | | ... | Variable representing formatted string resources. Supported types include const char\*, int, and float. | **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetDrawableDescriptor() ``` ResourceManager_ErrorCode OH_ResourceManager_GetDrawableDescriptor (const NativeResourceManager * mgr, uint32_t resId, ArkUI_DrawableDescriptor ** drawableDescriptor, uint32_t density = 0, uint32_t type = 0 ) ``` **Description** Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used.| | type | Icon type. The value **0** indicates an application icon, and the value **1** indicates a theme icon.| | drawableDescriptor | Result of writing **drawableDescriptor**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ### OH_ResourceManager_GetDrawableDescriptorByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetDrawableDescriptorByName (const NativeResourceManager * mgr, const char * resName, ArkUI_DrawableDescriptor ** drawableDescriptor, uint32_t density = 0, uint32_t type = 0 ) ``` Description Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used.| | type | Icon type. This parameter is optional. The value **0** indicates an application icon, the value **1** indicates a theme icon, and the value **2** indicates a dynamic icon.| | drawableDescriptor | Result of writing **drawableDescriptor**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003: The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004: No matching resource is found based on the resource name. ### OH_ResourceManager_GetDrawableDescriptorData() ``` ResourceManager_ErrorCode OH_ResourceManager_GetDrawableDescriptorData (const NativeResourceManager * mgr, uint32_t resId, ArkUI_DrawableDescriptor ** drawableDescriptor, uint32_t density, uint32_t type ) ``` **Description** Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | drawableDescriptor | Result of writing **drawableDescriptor**.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used. If this parameter is not required, set it to **0**.| | type | Icon type. This parameter is optional. The value **0** indicates an application icon, and the value **1** indicates a theme icon. If this parameter is not required, set it to **0**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ### OH_ResourceManager_GetDrawableDescriptorDataByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetDrawableDescriptorDataByName (const NativeResourceManager * mgr, const char * resName, ArkUI_DrawableDescriptor ** drawableDescriptor, uint32_t density, uint32_t type ) ``` **Description** Obtains the **DrawableDescriptor** object of the icon resource with the specified screen density based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | drawableDescriptor | Result of writing **drawableDescriptor**.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used. If this parameter is not required, set it to **0**.| | type | Icon type. This parameter is optional. The value **0** indicates an application icon, and the value **1** indicates a theme icon. If this parameter is not required, set it to **0**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003: The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004: No matching resource is found based on the resource name. ### OH_ResourceManager_GetFloat() ``` ResourceManager_ErrorCode OH_ResourceManager_GetFloat (const NativeResourceManager * mgr, uint32_t resId, float * resultValue ) ``` **Description** Obtains a float value based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetFloatByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetFloatByName (const NativeResourceManager * mgr, const char * resName, float * resultValue ) ``` **Description** Obtains a float value based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetInt() ``` ResourceManager_ErrorCode OH_ResourceManager_GetInt (const NativeResourceManager * mgr, uint32_t resId, int * resultValue ) ``` **Description** Obtains an int value based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetIntByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetIntByName (const NativeResourceManager * mgr, const char * resName, int * resultValue ) ``` **Description** Obtains an int value based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetIntPluralString() ``` ResourceManager_ErrorCode OH_ResourceManager_GetIntPluralString (const NativeResourceManager * mgr, uint32_t resId, uint32_t num, char ** resultValue, ... ) ``` **Description** Obtains singular and plural strings based on the specified resource ID. After using this API, you need to call **free()** to release the memory of the strings. **Since**: 18 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager). | | resId | Resource ID. | | num | Quantity value (an integer). Its string representation is obtained based on the current language's plural rules. | | resultValue | Result of writing **resultValue**. | | ... | Variable representing formatted string resources. Supported types include const char\*, int, and float. | **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetIntPluralStringByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetIntPluralStringByName (const NativeResourceManager * mgr, const char * resName, uint32_t num, char ** resultValue, ... ) ``` **Description** Obtains singular and plural strings based on the specified resource name. After using this API, you need to call **free()** to release the memory of the strings. **Since**: 18 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager). | | resName | Resource name. | | num | Quantity value (an integer). Its string representation is obtained based on the current language's plural rules. | | resultValue | Result of writing **resultValue**. | | ... | Variable representing formatted string resources. Supported types include const char\*, int, and float. | **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetLocales() ``` ResourceManager_ErrorCode OH_ResourceManager_GetLocales (const NativeResourceManager * mgr, char *** resultValue, uint32_t * resultLen, bool includeSystem = false ) ``` **Description** Obtains the language list. After using this API, you need to call **OH_ResourceManager_ReleaseStringArray()** to release the memory of **localinfo**. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resultValue | Result of writing **resultValue**.| | resultLen | Length of locales written to **resultLen**.| | includeSystem | Whether system resources are included. The default value is **false**. This parameter does not take effect if only system resources are involved when you query the list of locales.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetLocalesData() ``` ResourceManager_ErrorCode OH_ResourceManager_GetLocalesData (const NativeResourceManager * mgr, char *** resultValue, uint32_t * resultLen, bool includeSystem ) ``` **Description** Obtains the language list. After using this API, you need to call **OH_ResourceManager_ReleaseStringArray()** to release the memory of **localinfo**. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resultValue | Result of writing **resultValue**.| | resultLen | Length of locales written to **resultLen**.| | includeSystem | Whether system resources are included. If this parameter is not required, set it to **false**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMedia() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMedia (const NativeResourceManager * mgr, uint32_t resId, uint8_t ** resultValue, uint64_t * resultLen, uint32_t density = 0 ) ``` Description Obtains the content of the media resource with the specified screen density based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMediaBase64() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMediaBase64 (const NativeResourceManager * mgr, uint32_t resId, char ** resultValue, uint64_t * resultLen, uint32_t density = 0 ) ``` Description Obtains the Base64 code of the media resource with the specified screen density based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMediaBase64ByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMediaBase64ByName (const NativeResourceManager * mgr, const char * resName, char ** resultValue, uint64_t * resultLen, uint32_t density = 0 ) ``` Description Obtains the Base64 code of the media resource with the specified screen density based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003: The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004: No matching resource is found based on the resource name. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMediaBase64Data() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMediaBase64Data (const NativeResourceManager * mgr, uint32_t resId, char ** resultValue, uint64_t * resultLen, uint32_t density ) ``` **Description** Obtains the Base64 code of the media resource with the specified screen density based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used. If this parameter is not required, set it to **0**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMediaBase64DataByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMediaBase64DataByName (const NativeResourceManager * mgr, const char * resName, char ** resultValue, uint64_t * resultLen, uint32_t density ) ``` **Description** Obtains the Base64 code of the media resource with the specified screen density based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used. If this parameter is not required, set it to **0**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003: The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004: No matching resource is found based on the resource name. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMediaByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMediaByName (const NativeResourceManager * mgr, const char * resName, uint8_t ** resultValue, uint64_t * resultLen, uint32_t density = 0 ) ``` Description Obtains the content of the media resource with the specified screen density based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003: The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004: No matching resource is found based on the resource name. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMediaData() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMediaData (const NativeResourceManager * mgr, uint32_t resId, uint8_t ** resultValue, uint64_t * resultLen, uint32_t density ) ``` **Description** Obtains the content of the media resource with the specified screen density based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used. If this parameter is not required, set it to **0**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetMediaDataByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetMediaDataByName (const NativeResourceManager * mgr, const char * resName, uint8_t ** resultValue, uint64_t * resultLen, uint32_t density ) ``` **Description** Obtains the content of the media resource with the specified screen density based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of media written to **resultLen**.| | density | Screen density. This parameter is optional. For details about the value range, see [ScreenDensity](#screendensity). The default value is **0**, indicating that the current system screen density (in DPI) is used. If this parameter is not required, set it to **0**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003: The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004: No matching resource is found based on the resource name. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetPluralString() ``` ResourceManager_ErrorCode OH_ResourceManager_GetPluralString (const NativeResourceManager * mgr, uint32_t resId, uint32_t num, char ** resultValue ) ``` **Description** Obtains singular and plural strings based on the specified resource ID. After using this API, you need to call **free()** to release the memory of the strings. **Since**: 12 **Deprecated version**: 18 **Substitute APIs**: [OH_ResourceManager_GetIntPluralString](#oh_resourcemanager_getintpluralstring) **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager). | | resId | Resource ID. | | num | Number. | | resultValue | Result of writing **resultValue**. | **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetPluralStringByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetPluralStringByName (const NativeResourceManager * mgr, const char * resName, uint32_t num, char ** resultValue ) ``` **Description** Obtains singular and plural strings based on the specified resource name. After using this API, you need to call **free()** to release the memory of the strings. **Since**: 12 **Deprecated version**: 18 **Substitute APIs**: [OH_ResourceManager_GetIntPluralStringByName](#oh_resourcemanager_getintpluralstringbyname) **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager). | | resName | Resource name. | | num | Number. | | resultValue | Result of writing **resultValue**. | **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetString() ``` ResourceManager_ErrorCode OH_ResourceManager_GetString (const NativeResourceManager * mgr, uint32_t resId, char ** resultValue, ... ) ``` **Description** Obtains a **string** resource based on the specified resource ID. The obtain common string resources, use **OH_ResourceManager_GetString(mgr, resId, resultValue)**. The obtain formatted string resources with the **d**, **s**, and **f** placeholders, use **OH_ResourceManager_GetString(mgr, resId, resultValue, 10, "format", 10.10)**. After using this API, you need to call **free()** to release the memory. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| | ... | Variable representing formatted string resources. Supported types include const char\*, int, and float.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetStringArray() ``` ResourceManager_ErrorCode OH_ResourceManager_GetStringArray (const NativeResourceManager * mgr, uint32_t resId, char *** resultValue, uint32_t * resultLen ) ``` **Description** Obtains a string array based on the specified resource ID. After using this API, you need to call **OH_ResourceManager_ReleaseStringArray()** to release the memory of the string array. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of **StringArray** written to **resultLen**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetStringArrayByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetStringArrayByName (const NativeResourceManager * mgr, const char * resName, char *** resultValue, uint32_t * resultLen ) ``` **Description** Obtains a string array based on the specified resource name. After using this API, you need to call **OH_ResourceManager_ReleaseStringArray()** to release the memory of the string array. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| | resultLen | Length of **StringArray** written to **resultLen**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetStringByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetStringByName (const NativeResourceManager * mgr, const char * resName, char ** resultValue, ... ) ``` **Description** Obtains a **string** resource based on the specified resource name. The obtain common string resources, use **OH_ResourceManager_GetString(mgr, resName, resultValue)**. The obtain formatted string resources with the **%d**, **%s**, and **%f** placeholders, use **OH_ResourceManager_GetString(mgr, resName, resultValue, 10, "format", 10.10)**. After using this API, you need to call **free()** to release the memory. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| | ... | Variable representing formatted string resources. Supported types include const char\*, int, and float.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003 - The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004 - No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ERROR_CODE_OUT_OF_MEMORY 9001100: The memory overflows. ### OH_ResourceManager_GetSymbol() ``` ResourceManager_ErrorCode OH_ResourceManager_GetSymbol (const NativeResourceManager * mgr, uint32_t resId, uint32_t * resultValue ) ``` **Description** Obtains a **symbol** resource based on the specified resource ID. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resId | Resource ID.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001001 - The resource ID is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001002 - No matching resource is found based on the resource ID. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_GetSymbolByName() ``` ResourceManager_ErrorCode OH_ResourceManager_GetSymbolByName (const NativeResourceManager * mgr, const char * resName, uint32_t * resultValue ) ``` **Description** Obtains a **symbol** resource based on the specified resource name. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | resName | Resource name.| | resultValue | Result of writing **resultValue**.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_RES_ID_NOT_FOUND 9001003: The resource name is invalid. ERROR_CODE_RES_NOT_FOUND_BY_ID 9001004: No matching resource is found based on the resource name. ERROR_CODE_RES_REF_TOO_MUCH 9001006 - Resources are cyclically referenced. ### OH_ResourceManager_ReleaseConfiguration() ``` ResourceManager_ErrorCode OH_ResourceManager_ReleaseConfiguration (ResourceManager_Configuration * configuration) ``` **Description** Releases the memory requested by using **OH_ResourceManager_GetConfiguration()**. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | configuration | Configuration object whose memory needs to be released.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ### OH_ResourceManager_ReleaseStringArray() ``` ResourceManager_ErrorCode OH_ResourceManager_ReleaseStringArray (char *** resValue, uint32_t len ) ``` **Description** Releases the memory of the string array. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | resValue | String array whose memory needs to be released.| | len | Length of the string array.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ### OH_ResourceManager_RemoveResource() ``` ResourceManager_ErrorCode OH_ResourceManager_RemoveResource (const NativeResourceManager * mgr, const char * path ) ``` **Description** Removes overlay resources when an application is running. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | mgr | Pointer to the [NativeResourceManager](rawfile.md#nativeresourcemanager) object. You can obtain the pointer by using [OH_ResourceManager_InitNativeResourceManager](rawfile.md#oh_resourcemanager_initnativeresourcemanager).| | path | Resource path.| **Returns** SUCCESS = 0: Operation succeeded. ERROR_CODE_INVALID_INPUT_PARAMETER 401 - The input parameter is invalid. Possible causes: 1. The parameter type is incorrect. 2. Parameter verification failed. ERROR_CODE_OVERLAY_RES_PATH_INVALID 9001010 - The resource path is invalid.