1# utd.h 2<!--Kit: ArkData--> 3<!--Subsystem: DistributedDataManager--> 4<!--Owner: @jcwen--> 5<!--Designer: @junathuawei1; @zph000--> 6<!--Tester: @lj_liujing; @yippo; @logic42--> 7<!--Adviser: @ge-yafang--> 8 9## 概述 10 11提供标准化数据类型描述相关接口和数据结构。 12 13**引用文件:** <database/udmf/utd.h> 14 15**库:** libudmf.so 16 17**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core 18 19**起始版本:** 12 20 21**相关模块:** [UDMF](capi-udmf.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| ------------------------ | ------------- | -------------------- | 29| [OH_Utd](capi-udmf-oh-utd.md) | OH_Utd | 统一数据类型描述符。 | 30 31### 函数 32 33| 名称 | 描述 | 34| ------------------------------------------------------------ | ------------------------------------------------------------ | 35| [OH_Utd* OH_Utd_Create(const char* typeId)](#oh_utd_create) | 创建统一数据类型[OH_Utd](capi-udmf-oh-utd.md)指针及实例对象。 | 36| [void OH_Utd_Destroy(OH_Utd* pThis)](#oh_utd_destroy) | 销毁统一数据类型[OH_Utd](capi-udmf-oh-utd.md)指针指向的实例对象。 | 37| [const char* OH_Utd_GetTypeId(OH_Utd* pThis)](#oh_utd_gettypeid) | 获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的类型ID。 | 38| [const char* OH_Utd_GetDescription(OH_Utd* pThis)](#oh_utd_getdescription) | 获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的描述信息。 | 39| [const char* OH_Utd_GetReferenceUrl(OH_Utd* pThis)](#oh_utd_getreferenceurl) | 获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的URL信息。 | 40| [const char* OH_Utd_GetIconFile(OH_Utd* pThis)](#oh_utd_geticonfile) | 获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的默认图标文件路径。 | 41| [const char** OH_Utd_GetBelongingToTypes(OH_Utd* pThis, unsigned int* count)](#oh_utd_getbelongingtotypes) | 获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的归属关系结果集。 | 42| [const char** OH_Utd_GetFilenameExtensions(OH_Utd* pThis, unsigned int* count)](#oh_utd_getfilenameextensions) | 获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)所关联的文件名后缀结果集。 | 43| [const char** OH_Utd_GetMimeTypes(OH_Utd* pThis, unsigned int* count)](#oh_utd_getmimetypes) | 获取[OH_Utd](capi-udmf-oh-utd.md)所关联的MIME类型结果集。 | 44| [const char** OH_Utd_GetTypesByFilenameExtension(const char* extension, unsigned int* count)](#oh_utd_gettypesbyfilenameextension) | 通过文件名后缀获取关联的统一标准数据描述类型结果集。 | 45| [const char** OH_Utd_GetTypesByMimeType(const char* mimeType, unsigned int* count)](#oh_utd_gettypesbymimetype) | 通过MIME类型获取所关联的标准数据类型结果集。 | 46| [bool OH_Utd_BelongsTo(const char* srcTypeId, const char* destTypeId)](#oh_utd_belongsto) | 判断两个标准化数据描述类型是否存在归属关系。 | 47| [bool OH_Utd_IsLower(const char* srcTypeId, const char* destTypeId)](#oh_utd_islower) | 判断原标准化数据类型是否是目标标准化数据类型的低层级类型。例如TYPE_SCRIPT为SOURCE_CODE的低层级类型,TYPE_SCRIPT和SOURCE_CODE为PLAIN_TEXT的低层级类型。 | 48| [bool OH_Utd_IsHigher(const char* srcTypeId, const char* destTypeId)](#oh_utd_ishigher) | 判断原标准化数据类型是否是目标标准化数据类型的高层级类型。例如SOURCE_CODE为TYPE_SCRIPT的高层级类型,PLAIN_TEXT为SOURCE_CODE和TYPE_SCRIPT的高层级类型。 | 49| [bool OH_Utd_Equals(OH_Utd* utd1, OH_Utd* utd2)](#oh_utd_equals) | 判断两个标准化数据描述类型是否相等。 | 50| [void OH_Utd_DestroyStringList(const char** list, unsigned int count)](#oh_utd_destroystringlist) | 销毁标准数据描述类型结果集字符串列表。 | 51 52## 函数说明 53 54### OH_Utd_Create() 55 56``` 57OH_Utd* OH_Utd_Create(const char* typeId) 58``` 59 60**描述** 61 62创建统一数据类型[OH_Utd](capi-udmf-oh-utd.md)指针及实例对象。 63 64**起始版本:** 12 65 66 67**参数:** 68 69| 参数项 | 描述 | 70| ------------------ | -------------------- | 71| const char* typeId | 表示统一数据类型ID。 | 72 73**返回:** 74 75| 类型 | 说明 | 76| ------------------------- | ------------------------------------------------------------ | 77| [OH_Utd](capi-udmf-oh-utd.md)* | 执行成功则返回一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)实例对象的指针,否则返回nullptr。<br>当不再需要使用指针时,请使用[OH_Utd_Destroy](capi-utd-h.md#oh_utd_destroy)销毁实例对象,否则会导致内存泄漏。 | 78 79### OH_Utd_Destroy() 80 81``` 82void OH_Utd_Destroy(OH_Utd* pThis) 83``` 84 85**描述** 86 87销毁统一数据类型[OH_Utd](capi-udmf-oh-utd.md)指针指向的实例对象。 88 89**起始版本:** 12 90 91 92**参数:** 93 94| 参数项 | 描述 | 95| ------------------------------- | -------------------------------------------------------- | 96| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)实例的指针。 | 97 98### OH_Utd_GetTypeId() 99 100``` 101const char* OH_Utd_GetTypeId(OH_Utd* pThis) 102``` 103 104**描述** 105 106获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的类型ID。 107 108**起始版本:** 12 109 110 111**参数:** 112 113| 参数项 | 描述 | 114| ------------------------------- | ------------------------------------------------------------ | 115| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 116 117**返回:** 118 119| 类型 | 说明 | 120| ----------- | --------------------------------------------------------- | 121| const char* | 当入参有效时返回指向类型ID的字符串指针,否则返回nullptr。 | 122 123### OH_Utd_GetDescription() 124 125``` 126const char* OH_Utd_GetDescription(OH_Utd* pThis) 127``` 128 129**描述** 130 131获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的描述信息。 132 133**起始版本:** 12 134 135 136**参数:** 137 138| 参数项 | 描述 | 139| ------------------------------- | ------------------------------------------------------------ | 140| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 141 142**返回:** 143 144| 类型 | 说明 | 145| ----------- | ----------------------------------------------------------- | 146| const char* | 当入参有效时返回指向描述信息的字符串指针,否则返回nullptr。 | 147 148### OH_Utd_GetReferenceUrl() 149 150``` 151const char* OH_Utd_GetReferenceUrl(OH_Utd* pThis) 152``` 153 154**描述** 155 156获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的URL信息。 157 158**起始版本:** 12 159 160 161**参数:** 162 163| 参数项 | 描述 | 164| ------------------------------- | ------------------------------------------------------------ | 165| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 166 167**返回:** 168 169| 类型 | 说明 | 170| ----------- | ---------------------------------------------------------- | 171| const char* | 当入参有效时返回指向URL信息的字符串指针,否则返回nullptr。 | 172 173### OH_Utd_GetIconFile() 174 175``` 176const char* OH_Utd_GetIconFile(OH_Utd* pThis) 177``` 178 179**描述** 180 181获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的默认图标文件路径。 182 183**起始版本:** 12 184 185 186**参数:** 187 188| 参数项 | 描述 | 189| ------------------------------- | ------------------------------------------------------------ | 190| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 191 192**返回:** 193 194| 类型 | 说明 | 195| ----------- | ------------------------------------------------------------ | 196| const char* | 当入参有效时返回指向默认图标文件路径的字符串指针,否则返回nullptr。 | 197 198### OH_Utd_GetBelongingToTypes() 199 200``` 201const char** OH_Utd_GetBelongingToTypes(OH_Utd* pThis, unsigned int* count) 202``` 203 204**描述** 205 206获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)中的归属关系结果集。 207 208**起始版本:** 12 209 210 211**参数:** 212 213| 参数项 | 描述 | 214| ------------------------------- | ------------------------------------------------------------ | 215| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 216| unsigned int* count | 该参数是输出参数,结果集中的类型数量会写入该变量。 | 217 218**返回:** 219 220| 类型 | 说明 | 221| ------------ | ------------------------------------------------------------ | 222| const char** | 当入参有效时返回归属关系结果集的字符串指针列表,否则返回nullptr。 | 223 224### OH_Utd_GetFilenameExtensions() 225 226``` 227const char** OH_Utd_GetFilenameExtensions(OH_Utd* pThis, unsigned int* count) 228``` 229 230**描述** 231 232获取统一数据类型[OH_Utd](capi-udmf-oh-utd.md)所关联的文件名后缀结果集。 233 234**起始版本:** 12 235 236 237**参数:** 238 239| 参数项 | 描述 | 240| ------------------------------- | ------------------------------------------------------------ | 241| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 242| unsigned int* count | 该参数是输出参数,结果集中的文件后缀名数量会写入该变量。 | 243 244**返回:** 245 246| 类型 | 说明 | 247| ------------ | ------------------------------------------------------------ | 248| const char** | 当入参有效时返回文件文件名后缀结果集的字符串指针列表,否则返回nullptr。 | 249 250### OH_Utd_GetMimeTypes() 251 252``` 253const char** OH_Utd_GetMimeTypes(OH_Utd* pThis, unsigned int* count) 254``` 255 256**描述** 257 258获取[OH_Utd](capi-udmf-oh-utd.md)所关联的MIME类型结果集。 259 260**起始版本:** 12 261 262 263**参数:** 264 265| 参数项 | 描述 | 266| ------------------------------- | ------------------------------------------------------------ | 267| [OH_Utd](capi-udmf-oh-utd.md)* pThis | 表示一个指向统一数据类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 268| unsigned int* count | 该参数是输出参数,结果集中的MIME类型数量会写入该变量。 | 269 270**返回:** 271 272| 类型 | 说明 | 273| ------------ | ------------------------------------------------------------ | 274| const char** | 当入参有效时返回MIME类型结果集的字符串指针列表,否则返回nullptr。 | 275 276### OH_Utd_GetTypesByFilenameExtension() 277 278``` 279const char** OH_Utd_GetTypesByFilenameExtension(const char* extension, unsigned int* count) 280``` 281 282**描述** 283 284通过文件名后缀获取关联的统一标准数据描述类型结果集。 285 286**起始版本:** 12 287 288 289**参数:** 290 291| 参数项 | 描述 | 292| --------------------- | -------------------------------------------------- | 293| const char* extension | 表示文件名后缀。 | 294| unsigned int* count | 该参数是输出参数,结果集中的类型数量会写入该变量。 | 295 296**返回:** 297 298| 类型 | 说明 | 299| ------------ | ------------------------------------------------------------ | 300| const char** | 返回标准数据描述类型结果集字符串列表。<br>当不再需要使用指针时,请及时使用[OH_Utd_DestroyStringList](capi-utd-h.md#oh_utd_destroystringlist)销毁对应的实例,否则会导致内存泄漏。 | 301 302### OH_Utd_GetTypesByMimeType() 303 304``` 305const char** OH_Utd_GetTypesByMimeType(const char* mimeType, unsigned int* count) 306``` 307 308**描述** 309 310通过MIME类型获取所关联的标准数据类型结果集。 311 312**起始版本:** 12 313 314 315**参数:** 316 317| 参数项 | 描述 | 318| -------------------- | -------------------------------------------------- | 319| const char* mimeType | 表示MIME类型字符串。 | 320| unsigned int* count | 该参数是输出参数,结果集中的类型数量会写入该变量。 | 321 322**返回:** 323 324| 类型 | 说明 | 325| ------------ | ------------------------------------------------------------ | 326| const char** | 返回标准数据描述类型结果集字符串列表。<br>当不再需要使用指针时,请及时使用[OH_Utd_DestroyStringList](capi-utd-h.md#oh_utd_destroystringlist)销毁对应的实例,否则会导致内存泄漏。 | 327 328### OH_Utd_BelongsTo() 329 330``` 331bool OH_Utd_BelongsTo(const char* srcTypeId, const char* destTypeId) 332``` 333 334**描述** 335 336判断两个标准化数据描述类型是否存在归属关系。 337 338**起始版本:** 12 339 340 341**参数:** 342 343| 参数项 | 描述 | 344| ---------------------- | ------------------------ | 345| const char* srcTypeId | 表示原标准化数据类型。 | 346| const char* destTypeId | 表示目标标准化数据类型。 | 347 348**返回:** 349 350| 类型 | 说明 | 351| ---- | ----------------------------------------------------------- | 352| bool | false表示原类型不属于目标类型,true表示原类型属于目标类型。 | 353 354### OH_Utd_IsLower() 355 356``` 357bool OH_Utd_IsLower(const char* srcTypeId, const char* destTypeId) 358``` 359 360**描述** 361 362判断原标准化数据类型是否是目标标准化数据类型的低层级类型。例如TYPE_SCRIPT为SOURCE_CODE的低层级类型,TYPE_SCRIPT和SOURCE_CODE为PLAIN_TEXT的低层级类型。 363 364**起始版本:** 12 365 366 367**参数:** 368 369| 参数项 | 描述 | 370| ---------------------- | ------------------------ | 371| const char* srcTypeId | 表示原标准化数据类型。 | 372| const char* destTypeId | 表示目标标准化数据类型。 | 373 374**返回:** 375 376| 类型 | 说明 | 377| ---- | ----------------------------------------------------------- | 378| bool | false表示原类型不低于目标类型;true表示原类型低于目标类型。 | 379 380### OH_Utd_IsHigher() 381 382``` 383bool OH_Utd_IsHigher(const char* srcTypeId, const char* destTypeId) 384``` 385 386**描述** 387 388判断原标准化数据类型是否是目标标准化数据类型的高层级类型。例如SOURCE_CODE为TYPE_SCRIPT的高层级类型,PLAIN_TEXT为SOURCE_CODE和TYPE_SCRIPT的高层级类型。 389 390**起始版本:** 12 391 392 393**参数:** 394 395| 参数项 | 描述 | 396| ---------------------- | ------------------------ | 397| const char* srcTypeId | 表示原标准化数据类型。 | 398| const char* destTypeId | 表示目标标准化数据类型。 | 399 400**返回:** 401 402| 类型 | 说明 | 403| ---- | ----------------------------------------------------------- | 404| bool | false表示原类型不高于目标类型,true表示原类型高于目标类型。 | 405 406### OH_Utd_Equals() 407 408``` 409bool OH_Utd_Equals(OH_Utd* utd1, OH_Utd* utd2) 410``` 411 412**描述** 413 414判断两个标准化数据描述类型是否相等。 415 416**起始版本:** 12 417 418 419**参数:** 420 421| 参数项 | 描述 | 422| ------------------------------ | ------------------------------------------------------------ | 423| [OH_Utd](capi-udmf-oh-utd.md)* utd1 | 表示一个指向标准化数据描述类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 424| [OH_Utd](capi-udmf-oh-utd.md)* utd2 | 表示一个指向标准化数据描述类型[OH_Utd](capi-udmf-oh-utd.md)对象的指针。 | 425 426**返回:** 427 428| 类型 | 说明 | 429| ---- | ----------------------------------------------- | 430| bool | false表示两种类型不相等,true表示两种类型相等。 | 431 432### OH_Utd_DestroyStringList() 433 434``` 435void OH_Utd_DestroyStringList(const char** list, unsigned int count) 436``` 437 438**描述** 439 440销毁标准数据描述类型结果集字符串列表。 441 442**起始版本:** 12 443 444 445**参数:** 446 447| 参数项 | 描述 | 448| ------------------ | ------------------------------------ | 449| const char** list | 表示字符串列表指针。 | 450| unsigned int count | 表示字符串列表list参数中的列表长度。 | 451 452