1# udmf.h 2 3 4## Overview 5 6Defines the APIs, data structs, and enums for accessing the UDMF. 7 8**File to include**: <database/udmf/udmf.h> 9 10**Library**: libudmf.so 11 12**System capability**: SystemCapability.DistributedDataManager.UDMF.Core 13 14**Since**: 12 15 16**Related module**: [UDMF](_u_d_m_f.md) 17 18 19## Summary 20 21 22### Macros 23 24| Name| Description| 25| -------- | -------- | 26| [UDMF_KEY_BUFFER_LEN](_u_d_m_f.md#udmf_key_buffer_len) (512) | Minimum length of the buffer that holds the key (unique identifier) of a uniform data object. | 27 28 29### Types 30 31| Name| Description| 32| -------- | -------- | 33| typedef enum [Udmf_Intention](_u_d_m_f.md#udmf_intention) [Udmf_Intention](_u_d_m_f.md#udmf_intention) | Defines an enum for UDMF data channel types. | 34| typedef enum [Udmf_ShareOption](_u_d_m_f.md#udmf_shareoption) [Udmf_ShareOption](_u_d_m_f.md#udmf_shareoption) | Defines an enum for the scopes of the uniform data to be used on a device.| 35| typedef enum [Udmf_FileConflictOptions](_u_d_m_f.md#udmf_fileconflictoptions) [Udmf_FileConflictOptions](_u_d_m_f.md#udmf_fileconflictoptions) | Defines an enum for the options used to resolve file copy conflicts. | 36| typedef enum [Udmf_ProgressIndicator](_u_d_m_f.md#udmf_progressindicator) [Udmf_ProgressIndicator](_u_d_m_f.md#udmf_progressindicator) | Defines an enum for the progress indicator options. | 37| typedef struct [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) | Defines a struct for a uniform data object. | 38| typedef struct [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) | Defines a struct for a data record in a uniform data object. | 39| typedef struct [OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) [OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) | Defines a struct for the data record provider in a uniform data object. | 40| typedef struct [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) | Defines a struct for a data record property in a uniform data object. | 41| typedef struct [OH_Udmf_ProgressInfo](_u_d_m_f.md#oh_udmf_progressinfo) [OH_Udmf_ProgressInfo](_u_d_m_f.md#oh_udmf_progressinfo) | Defines a struct for progress information. | 42| typedef struct [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) | Defines a struct for parameters used to obtain UDMF data asynchronously. | 43| typedef void(\* [OH_Udmf_DataProgressListener](_u_d_m_f.md#oh_udmf_dataprogresslistener)) ([OH_Udmf_ProgressInfo](_u_d_m_f.md#oh_udmf_progressinfo) \*progressInfo, [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*data) | Defines the callback used to return the data retrieval progress information and data obtained.<br>A null pointer is returned if the progress is not 100. The data obtained is returned only when the progress reaches 100.| 44| typedef void(\* [UdmfData_Finalize](_u_d_m_f.md#udmfdata_finalize)) (void \*context) | Defines a callback function used to release the context. This callback is invoked when the **OH_UdmfRecordProvider** instance is destroyed. | 45| typedef void \*(\* [OH_UdmfRecordProvider_GetData](_u_d_m_f.md#oh_udmfrecordprovider_getdata)) (void \*context, const char \*type) | Defines a callback function used to obtain data by type. This callback is invoked when data is obtained from **OH_UdmfRecord**. It returns the data obtained. | 46 47 48### Enums 49 50| Name| Description| 51| -------- | -------- | 52| [Udmf_Intention](_u_d_m_f.md#udmf_intention-1) { UDMF_INTENTION_DRAG, UDMF_INTENTION_PASTEBOARD } | Enumerates the UDMF data channel types. | 53| [Udmf_ShareOption](_u_d_m_f.md#udmf_shareoption-1) { SHARE_OPTIONS_INVALID, SHARE_OPTIONS_IN_APP, SHARE_OPTIONS_CROSS_APP } | Enumerates the scopes of the uniform data to be used on a device.| 54| [Udmf_FileConflictOptions](_u_d_m_f.md#udmf_fileconflictoptions-1) { UDMF_OVERWRITE = 0, UDMF_SKIP = 1 } | Enumerates the options used to resolve file copy conflicts. | 55| [Udmf_ProgressIndicator](_u_d_m_f.md#udmf_progressindicator-1) { UDMF_NONE = 0, UDMF_DEFAULT = 1 } | Enumerates the progress indicator options. | 56 57 58### Functions 59 60| Name| Description| 61| -------- | -------- | 62| [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \* [OH_UdmfData_Create](_u_d_m_f.md#oh_udmfdata_create) () | Creates an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance and a pointer to it. If this pointer is no longer required, use [OH_UdmfData_Destroy](_u_d_m_f.md#oh_udmfdata_destroy) to destroy it. Otherwise, memory leaks may occur. | 63| void [OH_UdmfData_Destroy](_u_d_m_f.md#oh_udmfdata_destroy) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*pThis) | Destroys an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 64| int [OH_UdmfData_AddRecord](_u_d_m_f.md#oh_udmfdata_addrecord) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*pThis, [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*record) | Adds an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) to an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 65| bool [OH_UdmfData_HasType](_u_d_m_f.md#oh_udmfdata_hastype) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*pThis, const char \*type) | Checks whether the specified type exists in an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 66| char \*\* [OH_UdmfData_GetTypes](_u_d_m_f.md#oh_udmfdata_gettypes) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*pThis, unsigned int \*count) | Obtains all data types in an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 67| [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*\* [OH_UdmfData_GetRecords](_u_d_m_f.md#oh_udmfdata_getrecords) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*pThis, unsigned int \*count) | Obtains all records contained in an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 68| [OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) \* [OH_UdmfRecordProvider_Create](_u_d_m_f.md#oh_udmfrecordprovider_create) () | Creates an [OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) instance. If this pointer is no longer required, use [OH_UdmfRecordProvider_Destroy](_u_d_m_f.md#oh_udmfrecordprovider_destroy) to destroy it. Otherwise, memory leaks may occur. | 69| int [OH_UdmfRecordProvider_Destroy](_u_d_m_f.md#oh_udmfrecordprovider_destroy) ([OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) \*provider) | Destroys an [OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) instance. | 70| int [OH_UdmfRecordProvider_SetData](_u_d_m_f.md#oh_udmfrecordprovider_setdata) ([OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) \*provider, void \*context, const [OH_UdmfRecordProvider_GetData](_u_d_m_f.md#oh_udmfrecordprovider_getdata) callback, const [UdmfData_Finalize](_u_d_m_f.md#udmfdata_finalize) finalize) | Sets a callback for an **OH_UdmfRecordProvider** instance to provide data. | 71| [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \* [OH_UdmfRecord_Create](_u_d_m_f.md#oh_udmfrecord_create) () | Creates an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance and a pointer to it. If this pointer is no longer required, use [OH_UdmfRecord_Destroy](_u_d_m_f.md#oh_udmfrecord_destroy) to destroy it. Otherwise, memory leaks may occur. | 72| void [OH_UdmfRecord_Destroy](_u_d_m_f.md#oh_udmfrecord_destroy) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis) | Destroys an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 73| int [OH_UdmfRecord_AddGeneralEntry](_u_d_m_f.md#oh_udmfrecord_addgeneralentry) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, const char \*typeId, unsigned char \*entry, unsigned int count) | Adds customized uniform data to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. This API cannot be used to add data of UDS types (such as PlainText, Link, and Pixelmap). | 74| int [OH_UdmfRecord_AddPlainText](_u_d_m_f.md#oh_udmfrecord_addplaintext) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsPlainText](_u_d_m_f.md#oh_udsplaintext) \*plainText) | Adds data of the [OH_UdsPlainText](_u_d_m_f.md#oh_udsplaintext) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 75| int [OH_UdmfRecord_AddHyperlink](_u_d_m_f.md#oh_udmfrecord_addhyperlink) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsHyperlink](_u_d_m_f.md#oh_udshyperlink) \*hyperlink) | Adds data of the hyperlink type [OH_UdsHyperlink](_u_d_m_f.md#oh_udshyperlink) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 76| int [OH_UdmfRecord_AddHtml](_u_d_m_f.md#oh_udmfrecord_addhtml) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsHtml](_u_d_m_f.md#oh_udshtml) \*html) | Adds data of the [OH_UdsHtml](_u_d_m_f.md#oh_udshtml) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 77| int [OH_UdmfRecord_AddAppItem](_u_d_m_f.md#oh_udmfrecord_addappitem) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsAppItem](_u_d_m_f.md#oh_udsappitem) \*appItem) | Adds data of the [OH_UdsAppItem](_u_d_m_f.md#oh_udsappitem) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 78| int [OH_UdmfRecord_AddFileUri](_u_d_m_f.md#oh_udmfrecord_addfileuri) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsFileUri](_u_d_m_f.md#oh_udsfileuri) \*fileUri) | Adds a data record of the [OH_UdsFileUri](_u_d_m_f.md#oh_udsfileuri) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 79| int [OH_UdmfRecord_AddPixelMap](_u_d_m_f.md#oh_udmfrecord_addpixelmap) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsPixelMap](_u_d_m_f.md#oh_udspixelmap) \*pixelMap) | Adds a data record of the [OH_UdsPixelMap](_u_d_m_f.md#oh_udspixelmap) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 80| int [OH_UdmfRecord_AddArrayBuffer](_u_d_m_f.md#oh_udmfrecord_addarraybuffer) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*record, const char \*type, [OH_UdsArrayBuffer](_u_d_m_f.md#oh_udsarraybuffer) \*buffer) | Adds a data record of the [OH_UdsArrayBuffer](_u_d_m_f.md#oh_udsarraybuffer) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 81| int [OH_UdmfRecord_AddContentForm](_u_d_m_f.md#oh_udmfrecord_addcontentform) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsContentForm](_u_d_m_f.md#oh_udscontentform) \*contentForm) | Adds data of the [OH_UdsContentForm](_u_d_m_f.md#oh_udscontentform) type to an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 82| char \*\* [OH_UdmfRecord_GetTypes](_u_d_m_f.md#oh_udmfrecord_gettypes) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, unsigned int \*count) | Obtains all data types in an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 83| int [OH_UdmfRecord_GetGeneralEntry](_u_d_m_f.md#oh_udmfrecord_getgeneralentry) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, const char \*typeId, unsigned char \*\*entry, unsigned int \*count) | Obtains the data of the specified type in an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 84| int [OH_UdmfRecord_GetPlainText](_u_d_m_f.md#oh_udmfrecord_getplaintext) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsPlainText](_u_d_m_f.md#oh_udsplaintext) \*plainText) | Obtains [OH_UdsPlainText](_u_d_m_f.md#oh_udsplaintext) data from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 85| int [OH_UdmfRecord_GetHyperlink](_u_d_m_f.md#oh_udmfrecord_gethyperlink) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsHyperlink](_u_d_m_f.md#oh_udshyperlink) \*hyperlink) | Obtains [OH_UdsHyperlink](_u_d_m_f.md#oh_udshyperlink) data from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 86| int [OH_UdmfRecord_GetHtml](_u_d_m_f.md#oh_udmfrecord_gethtml) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsHtml](_u_d_m_f.md#oh_udshtml) \*html) | Obtains [OH_UdsHtml](_u_d_m_f.md#oh_udshtml) data from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 87| int [OH_UdmfRecord_GetAppItem](_u_d_m_f.md#oh_udmfrecord_getappitem) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsAppItem](_u_d_m_f.md#oh_udsappitem) \*appItem) | Obtains [OH_UdsAppItem](_u_d_m_f.md#oh_udsappitem) data from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 88| int [OH_UdmfRecord_SetProvider](_u_d_m_f.md#oh_udmfrecord_setprovider) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, const char \*const \*types, unsigned int count, [OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) \*provider) | Sets the [OH_UdmfRecordProvider](_u_d_m_f.md#oh_udmfrecordprovider) in an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 89| int [OH_UdmfRecord_GetFileUri](_u_d_m_f.md#oh_udmfrecord_getfileuri) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsFileUri](_u_d_m_f.md#oh_udsfileuri) \*fileUri) | Obtains the [OH_UdsFileUri](_u_d_m_f.md#oh_udsfileuri) data from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 90| int [OH_UdmfRecord_GetPixelMap](_u_d_m_f.md#oh_udmfrecord_getpixelmap) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsPixelMap](_u_d_m_f.md#oh_udspixelmap) \*pixelMap) | Obtains the [OH_UdsPixelMap](_u_d_m_f.md#oh_udspixelmap) data from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 91| int [OH_UdmfRecord_GetArrayBuffer](_u_d_m_f.md#oh_udmfrecord_getarraybuffer) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*record, const char \*type, [OH_UdsArrayBuffer](_u_d_m_f.md#oh_udsarraybuffer) \*buffer) | Obtains the [OH_UdsArrayBuffer](_u_d_m_f.md#oh_udsarraybuffer) data from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 92| int [OH_UdmfRecord_GetContentForm](_u_d_m_f.md#oh_udmfrecord_getcontentform) ([OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \*pThis, [OH_UdsContentForm](_u_d_m_f.md#oh_udscontentform) \*contentForm) | Obtains data of the [OH_UdsContentForm](_u_d_m_f.md#oh_udscontentform) type from an [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) instance. | 93| int [OH_UdmfData_GetPrimaryPlainText](_u_d_m_f.md#oh_udmfdata_getprimaryplaintext) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*data, [OH_UdsPlainText](_u_d_m_f.md#oh_udsplaintext) \*plainText) | Obtains the first [OH_UdsPlainText](_u_d_m_f.md#oh_udsplaintext) data from an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 94| int [OH_UdmfData_GetPrimaryHtml](_u_d_m_f.md#oh_udmfdata_getprimaryhtml) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*data, [OH_UdsHtml](_u_d_m_f.md#oh_udshtml) \*html) | Obtains the first [OH_UdsHtml](_u_d_m_f.md#oh_udshtml) data from an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 95| int [OH_UdmfData_GetRecordCount](_u_d_m_f.md#oh_udmfdata_getrecordcount) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*data) | Obtains the number of data records contained in an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 96| [OH_UdmfRecord](_u_d_m_f.md#oh_udmfrecord) \* [OH_UdmfData_GetRecord](_u_d_m_f.md#oh_udmfdata_getrecord) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*data, unsigned int index) | Obtains the specified data record from an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance. | 97| bool [OH_UdmfData_IsLocal](_u_d_m_f.md#oh_udmfdata_islocal) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*data) | Checks whether an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance is from the local device. | 98| [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \* [OH_UdmfProperty_Create](_u_d_m_f.md#oh_udmfproperty_create) ([OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*unifiedData) | Creates an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance and a pointer to it. If this pointer is no longer required, use [OH_UdmfProperty_Destroy](_u_d_m_f.md#oh_udmfproperty_destroy) to destroy it. Otherwise, memory leaks may occur. | 99| void [OH_UdmfProperty_Destroy](_u_d_m_f.md#oh_udmfproperty_destroy) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis) | Destroys an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 100| const char \* [OH_UdmfProperty_GetTag](_u_d_m_f.md#oh_udmfproperty_gettag) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis) | Obtains the custom tag value from an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 101| int64_t [OH_UdmfProperty_GetTimestamp](_u_d_m_f.md#oh_udmfproperty_gettimestamp) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis) | Obtains the timestamp from an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 102| [Udmf_ShareOption](_u_d_m_f.md#udmf_shareoption) [OH_UdmfProperty_GetShareOption](_u_d_m_f.md#oh_udmfproperty_getshareoption) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis) | Obtains the share option from an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 103| int [OH_UdmfProperty_GetExtrasIntParam](_u_d_m_f.md#oh_udmfproperty_getextrasintparam) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis, const char \*key, int defaultValue) | Obtains the customized extra integer parameter from an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 104| const char \* [OH_UdmfProperty_GetExtrasStringParam](_u_d_m_f.md#oh_udmfproperty_getextrasstringparam) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis, const char \*key) | Obtains the customized extra string parameter from an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 105| int [OH_UdmfProperty_SetTag](_u_d_m_f.md#oh_udmfproperty_settag) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis, const char \*tag) | Sets the tag value for an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 106| int [OH_UdmfProperty_SetShareOption](_u_d_m_f.md#oh_udmfproperty_setshareoption) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis, [Udmf_ShareOption](_u_d_m_f.md#udmf_shareoption) option) | Sets **OH_Udmf_ShareOption** for an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance.| 107| int [OH_UdmfProperty_SetExtrasIntParam](_u_d_m_f.md#oh_udmfproperty_setextrasintparam) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis, const char \*key, int param) | Sets the extra integer parameter for an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 108| int [OH_UdmfProperty_SetExtrasStringParam](_u_d_m_f.md#oh_udmfproperty_setextrasstringparam) ([OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) \*pThis, const char \*key, const char \*param) | Sets the extra string parameter for an [OH_UdmfProperty](_u_d_m_f.md#oh_udmfproperty) instance. | 109| int [OH_Udmf_GetUnifiedData](_u_d_m_f.md#oh_udmf_getunifieddata) (const char \*key, [Udmf_Intention](_u_d_m_f.md#udmf_intention) intention, [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*unifiedData) | Obtains an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance from the UDMF database. | 110| int [OH_Udmf_SetUnifiedData](_u_d_m_f.md#oh_udmf_setunifieddata) ([Udmf_Intention](_u_d_m_f.md#udmf_intention) intention, [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) \*unifiedData, char \*key, unsigned int keyLen) | Sets an [OH_UdmfData](_u_d_m_f.md#oh_udmfdata) instance in the UDMF database. | 111| int [OH_UdmfProgressInfo_GetProgress](_u_d_m_f.md#oh_udmfprogressinfo_getprogress) ([OH_Udmf_ProgressInfo](_u_d_m_f.md#oh_udmf_progressinfo) \*progressInfo) | Obtains the progress information from [OH_Udmf_ProgressInfo](_u_d_m_f.md#oh_udmf_progressinfo). | 112| int [OH_UdmfProgressInfo_GetStatus](_u_d_m_f.md#oh_udmfprogressinfo_getstatus) ([OH_Udmf_ProgressInfo](_u_d_m_f.md#oh_udmf_progressinfo) \*progressInfo) | Obtains the status information from [OH_Udmf_ProgressInfo](_u_d_m_f.md#oh_udmf_progressinfo). | 113| [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) \* [OH_UdmfGetDataParams_Create](_u_d_m_f.md#oh_udmfgetdataparams_create) () | Creates an [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) instance for asynchronously obtaining UDMF data.<br>If this pointer is no longer required, use [OH_UdmfGetDataParams_Destroy](_u_d_m_f.md#oh_udmfgetdataparams_destroy) to destroy it. Otherwise, memory leaks may occur.| 114| void [OH_UdmfGetDataParams_Destroy](_u_d_m_f.md#oh_udmfgetdataparams_destroy) ([OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) \*pThis) | Destroys an [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) instance. | 115| void [OH_UdmfGetDataParams_SetDestUri](_u_d_m_f.md#oh_udmfgetdataparams_setdesturi) ([OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) \*params, const char \*destUri) | Sets the destination directory in an [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) instance.<br>If the destination directory is set, data of the file type will be copied to the specified directory. The file type data obtained in the callback will be replaced with the URI of the destination directory.<br>If the destination directory is not specified, the file will not be copied. The file type data obtained in the callback is the URI of the source directory.<br>If the application involves complex file processing or files need to be copied to multiple directories, you are advised to leave this parameter unspecified and let the application to handle the file copy.| 116| void [OH_UdmfGetDataParams_SetFileConflictOptions](_u_d_m_f.md#oh_udmfgetdataparams_setfileconflictoptions) ([OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) \*params, const [Udmf_FileConflictOptions](_u_d_m_f.md#udmf_fileconflictoptions) options) | Sets the policy for resolving file conflicts in an [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) instance. | 117| void [OH_UdmfGetDataParams_SetProgressIndicator](_u_d_m_f.md#oh_udmfgetdataparams_setprogressindicator) ([OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) \*params, const [Udmf_ProgressIndicator](_u_d_m_f.md#udmf_progressindicator) progressIndicator) | Sets the progress indicator in an [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) instance. | 118| void [OH_UdmfGetDataParams_SetDataProgressListener](_u_d_m_f.md#oh_udmfgetdataparams_setdataprogresslistener) ([OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) \*params, const [OH_Udmf_DataProgressListener](_u_d_m_f.md#oh_udmf_dataprogresslistener) dataProgressListener) | Sets the callback used to return the data obtained in an [OH_UdmfGetDataParams](_u_d_m_f.md#oh_udmfgetdataparams) instance. | 119