# data_asset.h
## 概述
提供资产类型数据结构。
资产是指一种可以在数据管理中使用的数据结构,可以存储及查询一个文件的名称、绝对路径、相对路径、创建时间、修改时间、状态、占用空间等属性。
**引用文件:**
**库:** libnative_rdb_ndk.z.so
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
**起始版本:** 11
**相关模块:** [RDB](capi-rdb.md)
## 汇总
### 结构体
| 名称 | typedef关键字 | 描述 |
| -- | -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) | Data_Asset | 表示资产附件类型的数据。
提供资产附件的信息。 |
### 枚举
| 名称 | typedef关键字 | 描述 |
| -- | -- | -- |
| [Data_AssetStatus](#data_assetstatus) | Data_AssetStatus | 资产状态值类型。 |
### 函数
| 名称 | 描述 |
| -- | -- |
| [int OH_Data_Asset_SetName(Data_Asset *asset, const char *name)](#oh_data_asset_setname) | 设置资产类型数据的名称。 |
| [int OH_Data_Asset_SetUri(Data_Asset *asset, const char *uri)](#oh_data_asset_seturi) | 设置资产类型数据在系统里的绝对路径,即URI。 |
| [int OH_Data_Asset_SetPath(Data_Asset *asset, const char *path)](#oh_data_asset_setpath) | 设置资产类型数据在应用沙箱里的相对路径。 |
| [int OH_Data_Asset_SetCreateTime(Data_Asset *asset, int64_t createTime)](#oh_data_asset_setcreatetime) | 设置资产类型数据创建的时间。 |
| [int OH_Data_Asset_SetModifyTime(Data_Asset *asset, int64_t modifyTime)](#oh_data_asset_setmodifytime) | 设置资产类型数据最后修改的时间。 |
| [int OH_Data_Asset_SetSize(Data_Asset *asset, size_t size)](#oh_data_asset_setsize) | 设置资产类型数据占用空间的大小。 |
| [int OH_Data_Asset_SetStatus(Data_Asset *asset, Data_AssetStatus status)](#oh_data_asset_setstatus) | 设置资产类型数据的状态码。 |
| [int OH_Data_Asset_GetName(Data_Asset *asset, char *name, size_t *length)](#oh_data_asset_getname) | 获取资产类型数据的名称。 |
| [int OH_Data_Asset_GetUri(Data_Asset *asset, char *uri, size_t *length)](#oh_data_asset_geturi) | 获取资产类型数据的绝对路径。 |
| [int OH_Data_Asset_GetPath(Data_Asset *asset, char *path, size_t *length)](#oh_data_asset_getpath) | 获取资产类型数据的相对路径。 |
| [int OH_Data_Asset_GetCreateTime(Data_Asset *asset, int64_t *createTime)](#oh_data_asset_getcreatetime) | 获取资产类型数据的创建时间。 |
| [int OH_Data_Asset_GetModifyTime(Data_Asset *asset, int64_t *modifyTime)](#oh_data_asset_getmodifytime) | 获取资产类型数据的最后修改的时间。 |
| [int OH_Data_Asset_GetSize(Data_Asset *asset, size_t *size)](#oh_data_asset_getsize) | 获取资产类型数据占用空间的大小。 |
| [int OH_Data_Asset_GetStatus(Data_Asset *asset, Data_AssetStatus *status)](#oh_data_asset_getstatus) | 获取资产类型数据的状态码。 |
| [Data_Asset *OH_Data_Asset_CreateOne(void)](#oh_data_asset_createone) | 创造一个[Data_Asset](capi-rdb-data-asset.md)类型实例。 |
| [int OH_Data_Asset_DestroyOne(Data_Asset *asset)](#oh_data_asset_destroyone) | 销毁[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。 |
| [Data_Asset **OH_Data_Asset_CreateMultiple(uint32_t count)](#oh_data_asset_createmultiple) | 创造指定数量的[Data_Asset](capi-rdb-data-asset.md)类型实例。 |
| [int OH_Data_Asset_DestroyMultiple(Data_Asset **assets, uint32_t count)](#oh_data_asset_destroymultiple) | 销毁多个[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。 |
## 枚举类型说明
### Data_AssetStatus
```
enum Data_AssetStatus
```
**描述**
资产状态值类型。
**起始版本:** 11
| 枚举项 | 描述 |
| -- | -- |
| ASSET_NULL = 0 | 表示资产为空。 |
| ASSET_NORMAL | 表示资产状态正常。 |
| ASSET_INSERT | 表示资产需要插入到云端。 |
| ASSET_UPDATE | 表示资产需要更新到云端。 |
| ASSET_DELETE | 表示资产需要在云端删除。 |
| ASSET_ABNORMAL | 表示资产状态异常。 |
| ASSET_DOWNLOADING | 表示资产正在下载到本地设备。 |
## 函数说明
### OH_Data_Asset_SetName()
```
int OH_Data_Asset_SetName(Data_Asset *asset, const char *name)
```
**描述**
设置资产类型数据的名称。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| const char *name | 表示要设置的名称。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_SetUri()
```
int OH_Data_Asset_SetUri(Data_Asset *asset, const char *uri)
```
**描述**
设置资产类型数据在系统里的绝对路径,即URI。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| const char *uri | 表示要设置的URI。 |
**返回:**
| 类型 | 说明 |
| -- |---------------------------------------------------------------------------------------------------------------------------------------------|
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_SetPath()
```
int OH_Data_Asset_SetPath(Data_Asset *asset, const char *path)
```
**描述**
设置资产类型数据在应用沙箱里的相对路径。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| const char *path | 表示要设置的相对路径。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_SetCreateTime()
```
int OH_Data_Asset_SetCreateTime(Data_Asset *asset, int64_t createTime)
```
**描述**
设置资产类型数据创建的时间。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| int64_t createTime | 表示要设置的创建时间。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_SetModifyTime()
```
int OH_Data_Asset_SetModifyTime(Data_Asset *asset, int64_t modifyTime)
```
**描述**
设置资产类型数据最后修改的时间。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| int64_t modifyTime | 表示要设置的最后修改的时间。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_SetSize()
```
int OH_Data_Asset_SetSize(Data_Asset *asset, size_t size)
```
**描述**
设置资产类型数据占用空间的大小。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| size_t size | 表示要设置的占用空间的大小。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_SetStatus()
```
int OH_Data_Asset_SetStatus(Data_Asset *asset, Data_AssetStatus status)
```
**描述**
设置资产类型数据的状态码。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| [Data_AssetStatus](#data_assetstatus) status | 表示需要设置的状态码。详细信息可以查看[Data_AssetStatus](capi-data-asset-h.md#data_assetstatus)。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_GetName()
```
int OH_Data_Asset_GetName(Data_Asset *asset, char *name, size_t *length)
```
**描述**
获取资产类型数据的名称。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| char *name | 该参数是输出参数,资产类型数据的名称会以字符串形式写入该变量。 |
| size_t *length | 表示name的长度。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_ERR表示函数执行异常。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_GetUri()
```
int OH_Data_Asset_GetUri(Data_Asset *asset, char *uri, size_t *length)
```
**描述**
获取资产类型数据的绝对路径。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| char *uri | 参数是输出参数,资产类型数据的绝对路径会以字符串形式写入该变量。 |
| size_t *length | 表示uri的长度。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_ERR表示函数执行异常。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_GetPath()
```
int OH_Data_Asset_GetPath(Data_Asset *asset, char *path, size_t *length)
```
**描述**
获取资产类型数据的相对路径。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| char *path | 参数是输出参数,资产类型数据的相对路径会以字符串形式写入该变量。 |
| size_t *length | 表示path的长度。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_ERR表示函数执行异常。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_GetCreateTime()
```
int OH_Data_Asset_GetCreateTime(Data_Asset *asset, int64_t *createTime)
```
**描述**
获取资产类型数据的创建时间。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| int64_t *createTime | 参数是输出参数,资产类型数据的创建时间会以int64_t形式写入该变量。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_ERR表示函数执行异常。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
**参考:**
Data_Asset
### OH_Data_Asset_GetModifyTime()
```
int OH_Data_Asset_GetModifyTime(Data_Asset *asset, int64_t *modifyTime)
```
**描述**
获取资产类型数据的最后修改的时间。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| int64_t *modifyTime | 参数是输出参数,资产类型数据的最后修改时间会以int64_t形式写入该变量。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_ERR表示函数执行异常。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_GetSize()
```
int OH_Data_Asset_GetSize(Data_Asset *asset, size_t *size)
```
**描述**
获取资产类型数据占用空间的大小。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| size_t *size | 参数是输出参数,资产类型数据的占用空间大小会以size_t形式写入该变量。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_ERR表示函数执行异常。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_GetStatus()
```
int OH_Data_Asset_GetStatus(Data_Asset *asset, Data_AssetStatus *status)
```
**描述**
获取资产类型数据的状态码。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| [Data_AssetStatus](#data_assetstatus) *status | 参数是输出参数,资产类型数据的状态码会以[Data_AssetStatus](capi-data-asset-h.md#data_assetstatus)形式写入该变量。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 |
### OH_Data_Asset_CreateOne()
```
Data_Asset *OH_Data_Asset_CreateOne(void)
```
**描述**
创造一个[Data_Asset](capi-rdb-data-asset.md)类型实例。
**起始版本:** 11
**返回:**
| 类型 | 说明 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) | 创建成功则返回一个指向[Data_Asset](capi-rdb-data-asset.md)结构体实例的指针,否则返回NULL。 |
### OH_Data_Asset_DestroyOne()
```
int OH_Data_Asset_DestroyOne(Data_Asset *asset)
```
**描述**
销毁[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。 |
### OH_Data_Asset_CreateMultiple()
```
Data_Asset **OH_Data_Asset_CreateMultiple(uint32_t count)
```
**描述**
创造指定数量的[Data_Asset](capi-rdb-data-asset.md)类型实例。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| uint32_t count | 代表创建的资产类型数据的数量。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) | 创建成功则返回一个指向[Data_Asset](capi-rdb-data-asset.md)结构体实例的指针,否则返回NULL。 |
### OH_Data_Asset_DestroyMultiple()
```
int OH_Data_Asset_DestroyMultiple(Data_Asset **assets, uint32_t count)
```
**描述**
销毁多个[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。
**起始版本:** 11
**参数:**
| 参数项 | 描述 |
| -- | -- |
| [Data_Asset](capi-rdb-data-asset.md) **assets | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 |
| uint32_t count | 代表需要销毁的[Data_Asset](capi-rdb-data-asset.md)类型对象的数量。 |
**返回:**
| 类型 | 说明 |
| -- | -- |
| int | 返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。 |