openharmony 鸿蒙 capi-content-embed-document-h

2026-08-25 浏览 (1)

content_embed_document.h

概述

提供OE技术实现的被嵌入文档(简称OE文档)相关数据结构及对应操作接口。

引用文件: <ContentEmbedKit/content_embed/content_embed_document.h>

库: libcontent_embed_ndk.so

系统能力: SystemCapability.ContentEmbed.ObjectEditor

起始版本: 24

相关模块: ContentEmbed

汇总

结构体

名称typedef关键字描述
ContentEmbed_DocumentContentEmbed_Document声明OE文档结构体类型。封装了被嵌入文档的元数据、内容和存储结构。
ContentEmbed_StorageContentEmbed_Storage声明OE文档Storage结构体类型。类似于文件系统中的目录,Storage对象的父对象必须是另一个Storage对象或根Storage对象。
ContentEmbed_StorageElementContentEmbed_StorageElement声明OE文档存储元素的结构体类型。包含名称、类型、时间等信息。
ContentEmbed_StorageElementsContentEmbed_StorageElements声明ContentEmbed_StorageElements结构体类型。包含ContentEmbed_StorageElement集合信息。
ContentEmbed_StreamContentEmbed_Stream声明OE文档Stream结构体类型。类似于文件系统中的文件,可对其进行读取或写入,且Stream对象只能存在于Storage对象中。

宏定义

名称描述
MAX_PATH_LENGTH (4 * 1024)表示支持文件路径的最大长度。
起始版本: 24

函数

名称描述
ContentEmbed_ErrorCode OH_ContentEmbed_CreateDocumentByOEid(const char *oeid, ContentEmbed_Document **document)使用提供的标识符OEID创建一个新的ContentEmbed_Document实例。
开发者可通过OH_ContentEmbed_DestroyDocument销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_CreateDocumentByFile(const char *srcFilePath, size_t length, bool isLinking, ContentEmbed_Document **document)从源文件创建一个新的ContentEmbed_Document实例。
开发者可通过OH_ContentEmbed_DestroyDocument销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_LoadDocumentFromFile(const char *srcFilePath, size_t length, ContentEmbed_Document **document)通过已存在的OE格式文件加载ContentEmbed_Document实例。
开发者可通过OH_ContentEmbed_DestroyDocument销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_Document_Read(uint8_t *buffer, size_t length, ContentEmbed_Document *document, size_t offset, size_t *readSize)从OE文档对象的指定偏移位置读取原始二进制数据到缓冲区。
ContentEmbed_ErrorCode OH_ContentEmbed_Document_GetOEid(const ContentEmbed_Document *document, char *oeid)从OE文档对象获取标识符OEID。
ContentEmbed_ErrorCode OH_ContentEmbed_Document_IsLinking(const ContentEmbed_Document *document, bool *isLinking)OE文档是否以链接方式创建。
ContentEmbed_ErrorCode OH_ContentEmbed_Document_GetNativeFilePath(const ContentEmbed_Document *document, char *nativeFilePath)从OE文档中获取客户端沙箱目录下存储的被嵌入源文件路径。
ContentEmbed_ErrorCode OH_ContentEmbed_Document_GetRootStorage(ContentEmbed_Document *document, ContentEmbed_Storage **storage)从OE文档对象获取根ContentEmbed_Storage对象。
开发者可通过OH_ContentEmbed_DestroyStorage销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_Document_Flush(const ContentEmbed_Document *document)将OE文档中数据落盘至OE格式文件。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_CreateStorage(const ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Storage **childStorage)根据OE文档父Storage对象和名称创建子ContentEmbed_Storage对象。
开发者可通过OH_ContentEmbed_DestroyStorage销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetStorage(const ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Storage **childStorage)从OE文档父Storage对象和名称获取子ContentEmbed_Storage对象。
开发者可通过OH_ContentEmbed_DestroyStorage销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_CreateStream(ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Stream **childStream)在OE文档父Storage对象和名称创建ContentEmbed_Stream对象。
开发者可通过OH_ContentEmbed_DestroyStream销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetStream(ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Stream **childStream)从OE文档父Storage对象和名称获取子ContentEmbed_Stream对象。
开发者可通过OH_ContentEmbed_DestroyStream销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_DeleteEntry(ContentEmbed_Storage *parentStorage, const char *name)从OE文档父Storage对象删除指定名称的子Storage对象或子Stream对象。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_DeleteAllEntry(ContentEmbed_Storage *storage)从OE文档Storage对象删除所有条目,包括子Storage对象和子Stream对象。
ContentEmbed_ErrorCode OH_ContentEmbed_DestroyStorage(ContentEmbed_Storage *storage)销毁OE文档ContentEmbed_Storage对象实例并回收内存。
ContentEmbed_ErrorCode OH_ContentEmbed_Stream_Read(ContentEmbed_Stream *stream, unsigned char **buffer, size_t length, size_t *num)从OE文档Stream对象的当前位置读取指定长度的数据到缓冲区。读取成功后,Stream对象的偏移量会按实际读取的字节数递增。
ContentEmbed_ErrorCode OH_ContentEmbed_Stream_Write(ContentEmbed_Stream *stream, const unsigned char *data, size_t length, size_t *num)将指定长度的数据从缓冲区写入OE文档Stream对象的当前位置。写入成功后,Stream对象的偏移量会按实际写入的字节数递增。
ContentEmbed_ErrorCode OH_ContentEmbed_Stream_Seek(ContentEmbed_Stream *stream, size_t position)将OE文档Stream对象的当前读取位置设置为指定的偏移量。
ContentEmbed_ErrorCode OH_ContentEmbed_Stream_GetPosition(ContentEmbed_Stream *stream, size_t *position)获取OE文档Stream对象的当前位置偏移量。
ContentEmbed_ErrorCode OH_ContentEmbed_Stream_GetSize(ContentEmbed_Stream *stream, size_t *size)获取OE文档Stream对象的总大小,单位为字节。
ContentEmbed_ErrorCode OH_ContentEmbed_DestroyStream(ContentEmbed_Stream *stream)销毁OE文档ContentEmbed_Stream对象实例并回收内存。
ContentEmbed_ErrorCode OH_ContentEmbed_DestroyDocument(ContentEmbed_Document *document)销毁ContentEmbed_Document对象实例并回收内存。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetOEid(ContentEmbed_Storage *storage, char *oeid, size_t oeidSize)获取OE文档Storage对象的标识符OEID。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_SetOEid(ContentEmbed_Storage *storage, char *oeid, size_t oeidSize)设置OE文档Storage对象的标识符OEID。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_Create(ContentEmbed_StorageElements **storageElements)创建并初始化ContentEmbed_StorageElements实例。
开发者可通过OH_ContentEmbed_StorageElements_Destroy销毁实例,以避免内存泄漏。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_Destroy(ContentEmbed_StorageElements *storageElements)销毁ContentEmbed_StorageElements实例并回收其占用的内存。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetElements(const ContentEmbed_Storage *storage, ContentEmbed_StorageElements *storageElements)获取OE文档Storage对象中的元素列表。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_GetCount(const ContentEmbed_StorageElements *storageElements, size_t *count)获取ContentEmbed_StorageElements实例的元素数量。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_GetElement(const ContentEmbed_StorageElements *storageElements, size_t index, ContentEmbed_StorageElement **storageElement)获取ContentEmbed_StorageElements实例的指定索引位置的元素。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_GetName(const ContentEmbed_StorageElement *storageElement, char *name, size_t nameSize)获取ContentEmbed_StorageElement实例的名称。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_GetCTime(const ContentEmbed_StorageElement *element, uint64_t *ctime)获取ContentEmbed_StorageElement实例的创建时间戳,单位为毫秒。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_GetMTime(const ContentEmbed_StorageElement *element, uint64_t *mtime)获取ContentEmbed_StorageElement实例的最后修改时间戳,单位为毫秒。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_IsStorage(const ContentEmbed_StorageElement *storageElement, bool *isStorage)检查ContentEmbed_StorageElement实例是否为OE文档Storage对象。
ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_IsStream(const ContentEmbed_StorageElement *element, bool *isStream)检查ContentEmbed_StorageElement实例是否为OE文档Stream对象。
ContentEmbed_ErrorCode OH_ContentEmbed_Storage_CopyTo(ContentEmbed_Storage *srcStorage, ContentEmbed_Storage *destStorage)将源OE文档Storage对象中的所有子Storage对象和Stream对象复制到目标OE文档Storage对象。

函数说明

OH_ContentEmbed_CreateDocumentByOEid()

ContentEmbed_ErrorCode OH_ContentEmbed_CreateDocumentByOEid(const char *oeid, ContentEmbed_Document **document)

描述

使用提供的标识符OEID创建一个新的ContentEmbed_Document实例。
开发者可通过OH_ContentEmbed_DestroyDocument销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
const char *oeid用于唯一表示OE文档的标识符OEID,建议数组长度为MAX_OEID_LENGTH
ContentEmbed_Document **document输出参数。该指针指向新创建的OE文档对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_CreateDocumentByFile()

ContentEmbed_ErrorCode OH_ContentEmbed_CreateDocumentByFile(const char *srcFilePath, size_t length, bool isLinking, ContentEmbed_Document **document)

描述

从源文件创建一个新的ContentEmbed_Document实例。
开发者可通过OH_ContentEmbed_DestroyDocument销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
const char *srcFilePath源文件路径。
size_t length源文件路径字符串的长度,不包括终止符。
bool isLinking是否以链接方式创建OE文档。true表示以链接方式创建OE文档,当服务端编辑OE文档时,源文件也会被修改;
false表示以嵌入方式创建OE文档,当客户端请求服务端编辑OE文档时,会先拷贝一份临时文件到客户端应用沙箱目录。
ContentEmbed_Document **document输出参数。该指针指向新创建的OE文档对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。
CE_ERR_INVALID_LINKING_PATH:表示链接文件在应用沙箱中,无法创建链接。

OH_ContentEmbed_LoadDocumentFromFile()

ContentEmbed_ErrorCode OH_ContentEmbed_LoadDocumentFromFile(const char *srcFilePath, size_t length, ContentEmbed_Document **document)

描述

通过已存在的OE格式文件加载ContentEmbed_Document实例。
开发者可通过OH_ContentEmbed_DestroyDocument销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
const char *srcFilePath源文件路径,指向要加载的OE格式文件。
size_t length源文件路径字符串的长度,不包括终止符。
ContentEmbed_Document **document输出参数。该指针指向新创建的OE文档对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Document_Read()

ContentEmbed_ErrorCode OH_ContentEmbed_Document_Read(uint8_t *buffer, size_t length, ContentEmbed_Document *document, size_t offset, size_t *readSize)

描述

从OE文档对象的指定偏移位置读取原始二进制数据到缓冲区。

起始版本: 24

参数:

参数项描述
uint8_t *buffer输出参数。用于存储从OE文档读取的数据的缓冲区。
size_t length缓冲区的大小,单位为字节。
ContentEmbed_Document *document指向OE文档对象指针。
size_t offset从OE文档开始读取的字节偏移位置,从0开始。
size_t *readSize输出参数。实际读取的数据长度,单位为字节。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Document_GetOEid()

ContentEmbed_ErrorCode OH_ContentEmbed_Document_GetOEid(const ContentEmbed_Document *document, char *oeid)

描述

从OE文档对象获取标识符OEID。

起始版本: 24

参数:

参数项描述
const ContentEmbed_Document *document指向OE文档对象指针。
char *oeid输出参数。用于存储OEID值的字符数组。建议数组长度为MAX_OEID_LENGTH

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Document_IsLinking()

ContentEmbed_ErrorCode OH_ContentEmbed_Document_IsLinking(const ContentEmbed_Document *document, bool *isLinking)

描述

OE文档是否以链接方式创建。

起始版本: 24

参数:

参数项描述
const ContentEmbed_Document *document指向OE文档对象指针。
bool *isLinking输出参数。true表示以链接方式创建OE文档;false表示嵌入方式创建OE文档。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Document_GetNativeFilePath()

ContentEmbed_ErrorCode OH_ContentEmbed_Document_GetNativeFilePath(const ContentEmbed_Document *document, char *nativeFilePath)

描述

从OE文档中获取客户端沙箱目录下存储的被嵌入源文件路径。

起始版本: 24

参数:

参数项描述
const ContentEmbed_Document *document指向OE文档对象指针。
char *nativeFilePath输出参数。用于存储源文件路径的字符数组。建议数组长度为MAX_PATH_LENGTH

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Document_GetRootStorage()

ContentEmbed_ErrorCode OH_ContentEmbed_Document_GetRootStorage(ContentEmbed_Document *document, ContentEmbed_Storage **storage)

描述

从OE文档对象获取根ContentEmbed_Storage对象。
开发者可通过OH_ContentEmbed_DestroyStorage销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
ContentEmbed_Document *document指向OE文档对象指针。
ContentEmbed_Storage **storage输出参数。调用成功后,该指针指向OE文档根Storage对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Document_Flush()

ContentEmbed_ErrorCode OH_ContentEmbed_Document_Flush(const ContentEmbed_Document *document)

描述

将OE文档中数据落盘至OE格式文件。

起始版本: 24

参数:

参数项描述
const ContentEmbed_Document *document指向OE文档对象指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_FILE_OPERATION_FAILED:表示文件操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_CreateStorage()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_CreateStorage(const ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Storage **childStorage)

描述

根据OE文档父Storage对象和名称创建子ContentEmbed_Storage对象。
开发者可通过OH_ContentEmbed_DestroyStorage销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
const ContentEmbed_Storage *parentStorage指向OE文档父Storage对象指针。
当需要从父Storage对象删除指定的子Storage对象时,可以调用OH_ContentEmbed_Storage_DeleteEntry
当需要从父Storage对象删除所有的子Storage对象时,可以调用OH_ContentEmbed_Storage_DeleteAllEntry
const char *name要创建的子Storage的名称。
ContentEmbed_Storage **childStorage输出参数。调用成功后,该指针指向新创建的OE文档子Storage对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败,可能是parentStorage无效或名称无效。
CE_ERR_NULL_POINTER:表示返回空指针,可能是childStorage创建失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STORAGE_OPERATION_FAILED:表示存储操作失败,可能是磁盘空间不足。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_GetStorage()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetStorage(const ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Storage **childStorage)

描述

从OE文档父Storage对象和名称获取子ContentEmbed_Storage对象。
开发者可通过OH_ContentEmbed_DestroyStorage销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
const ContentEmbed_Storage *parentStorage指向OE文档父Storage对象指针。
const char *name要获取的子Storage的名称。
ContentEmbed_Storage **childStorage输出参数。调用成功后,该指针指向找到的OE文档子Storage对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_CreateStream()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_CreateStream(ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Stream **childStream)

描述

在OE文档父Storage对象和名称创建ContentEmbed_Stream对象。
开发者可通过OH_ContentEmbed_DestroyStream销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *parentStorage指向OE文档父Storage对象指针。
当需要从父Storage对象删除指定的子Stream对象时,可以调用OH_ContentEmbed_Storage_DeleteEntry
当需要从父Storage对象删除所有的子Stream对象时,可以调用OH_ContentEmbed_Storage_DeleteAllEntry
const char *name要创建的Stream的名称,用于标识和查找该Stream。
ContentEmbed_Stream **childStream输出参数。调用成功后,该指针指向新创建的OE文档Stream对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_STREAM_OPERATION_FAILED:表示OE格式文件流操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_GetStream()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetStream(ContentEmbed_Storage *parentStorage, const char *name, ContentEmbed_Stream **childStream)

描述

从OE文档父Storage对象和名称获取子ContentEmbed_Stream对象。
开发者可通过OH_ContentEmbed_DestroyStream销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *parentStorage指向OE文档父Storage对象指针。
const char *name要获取的OE文档Stream对象的名称。
ContentEmbed_Stream **childStream输出参数。调用成功后,该指针指向找到的OE文档Stream对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_STREAM_OPERATION_FAILED:表示OE格式文件流操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_DeleteEntry()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_DeleteEntry(ContentEmbed_Storage *parentStorage, const char *name)

描述

从OE文档父Storage对象删除指定名称的子Storage对象或子Stream对象。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *parentStorage指向OE文档父Storage对象指针。
const char *name要删除的子Storage对象或子Stream对象的名称。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_FILE_OPERATION_FAILED:表示OE格式文件操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_DeleteAllEntry()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_DeleteAllEntry(ContentEmbed_Storage *storage)

描述

从OE文档Storage对象删除所有条目,包括子Storage对象和子Stream对象。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *storage指向OE文档Storage对象指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_DestroyStorage()

ContentEmbed_ErrorCode OH_ContentEmbed_DestroyStorage(ContentEmbed_Storage *storage)

描述

销毁OE文档ContentEmbed_Storage对象实例并回收内存。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *storage指向OE文档Storage对象指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Stream_Read()

ContentEmbed_ErrorCode OH_ContentEmbed_Stream_Read(ContentEmbed_Stream *stream, unsigned char **buffer, size_t length, size_t *num)

描述

从OE文档Stream对象的当前位置读取指定长度的数据到缓冲区。读取成功后,Stream对象的偏移量会按实际读取的字节数递增。

起始版本: 24

参数:

参数项描述
ContentEmbed_Stream *stream指向OE文档Stream对象指针。
unsigned char **buffer输出参数。指向存储读取数据的缓冲区的指针。函数内部将分配内存,调用者需要负责释放。
size_t length要读取的数据的最大字节数。
size_t *num输出参数。实际读取的数据项数量,单位为字节。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STREAM_OPERATION_FAILED:表示流操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Stream_Write()

ContentEmbed_ErrorCode OH_ContentEmbed_Stream_Write(ContentEmbed_Stream *stream, const unsigned char *data, size_t length, size_t *num)

描述

将指定长度的数据从缓冲区写入OE文档Stream对象的当前位置。写入成功后,Stream对象的偏移量会按实际写入的字节数递增。

起始版本: 24

参数:

参数项描述
ContentEmbed_Stream *stream指向OE文档Stream对象指针。
const unsigned char *data输入参数。指向要写入数据的缓冲区的指针。
size_t length要写入的数据的字节数。
size_t *num输出参数。实际写入的数据项数量,单位为字节。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STREAM_OPERATION_FAILED:表示流操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Stream_Seek()

ContentEmbed_ErrorCode OH_ContentEmbed_Stream_Seek(ContentEmbed_Stream *stream, size_t position)

描述

将OE文档Stream对象的当前读取位置设置为指定的偏移量。

起始版本: 24

参数:

参数项描述
ContentEmbed_Stream *stream指向OE文档Stream对象指针。
size_t position要设置的Stream对象相对起始位置的偏移量,单位为字节,从0开始。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STREAM_OPERATION_FAILED:表示OE格式文件流相关操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Stream_GetPosition()

ContentEmbed_ErrorCode OH_ContentEmbed_Stream_GetPosition(ContentEmbed_Stream *stream, size_t *position)

描述

获取OE文档Stream对象的当前位置偏移量。

起始版本: 24

参数:

参数项描述
ContentEmbed_Stream *stream指向OE文档Stream对象指针。
size_t *position输出参数。存储Stream对象相对起始位置的偏移量,单位为字节,从0开始。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STREAM_OPERATION_FAILED:表示OE格式文件流相关操作失败。
CE_ERR_FILE_OPERATION_FAILED:表示文件操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Stream_GetSize()

ContentEmbed_ErrorCode OH_ContentEmbed_Stream_GetSize(ContentEmbed_Stream *stream, size_t *size)

描述

获取OE文档Stream对象的总大小,单位为字节。

起始版本: 24

参数:

参数项描述
ContentEmbed_Stream *stream指向OE文档Stream对象指针。
size_t *size输出参数。存储OE文档Stream对象的总字节大小。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_STREAM_OPERATION_FAILED:表示OE格式文件流相关操作失败。
CE_ERR_FILE_OPERATION_FAILED:表示文件操作失败。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_DestroyStream()

ContentEmbed_ErrorCode OH_ContentEmbed_DestroyStream(ContentEmbed_Stream *stream)

描述

销毁OE文档ContentEmbed_Stream对象实例并回收内存。

起始版本: 24

参数:

参数项描述
ContentEmbed_Stream *stream指向OE文档Stream对象指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_DestroyDocument()

ContentEmbed_ErrorCode OH_ContentEmbed_DestroyDocument(ContentEmbed_Document *document)

描述

销毁ContentEmbed_Document对象实例并回收内存。

起始版本: 24

参数:

参数项描述
ContentEmbed_Document *document指向OE文档对象指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_GetOEid()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetOEid(ContentEmbed_Storage *storage, char *oeid, size_t oeidSize)

描述

获取OE文档Storage对象的标识符OEID。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *storage指向OE文档Storage对象指针。
char *oeid输出参数。用于存储标识符OEID的字符数组,建议数组长度为MAX_OEID_LENGTH
size_t oeidSizeOEID数组的长度,单位为字节。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_SetOEid()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_SetOEid(ContentEmbed_Storage *storage, char *oeid, size_t oeidSize)

描述

设置OE文档Storage对象的标识符OEID。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *storage指向OE文档Storage对象指针。
char *oeid要设置的标识符OEID的字符数组,建议数组长度为MAX_OEID_LENGTH
size_t oeidSizeOEID数组的长度,单位为字节。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElements_Create()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_Create(ContentEmbed_StorageElements **storageElements)

描述

创建并初始化ContentEmbed_StorageElements实例。
开发者可通过OH_ContentEmbed_StorageElements_Destroy销毁实例,以避免内存泄漏。

起始版本: 24

参数:

参数项描述
ContentEmbed_StorageElements **storageElements输出参数。调用成功后,该指针将指向ContentEmbed_StorageElements实例。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElements_Destroy()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_Destroy(ContentEmbed_StorageElements *storageElements)

描述

销毁ContentEmbed_StorageElements实例并回收其占用的内存。

起始版本: 24

参数:

参数项描述
ContentEmbed_StorageElements *storageElements指向ContentEmbed_StorageElements实例指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_GetElements()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_GetElements(const ContentEmbed_Storage *storage, ContentEmbed_StorageElements *storageElements)

描述

获取OE文档Storage对象中的元素列表。

起始版本: 24

参数:

参数项描述
const ContentEmbed_Storage *storage指向OE文档Storage对象指针。
ContentEmbed_StorageElements *storageElements存储OE文档Storage对象中的元素列表。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_STORAGE_OPERATION_FAILED:表示OE格式文件目录相关操作失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElements_GetCount()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_GetCount(const ContentEmbed_StorageElements *storageElements, size_t *count)

描述

获取ContentEmbed_StorageElements实例的元素数量。

起始版本: 24

参数:

参数项描述
const ContentEmbed_StorageElements *storageElements指向ContentEmbed_StorageElements实例指针。
size_t *count输出参数。存储元素集合中的元素数量。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElements_GetElement()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElements_GetElement(const ContentEmbed_StorageElements *storageElements, size_t index, ContentEmbed_StorageElement **storageElement)

描述

获取ContentEmbed_StorageElements实例的指定索引位置的元素。

起始版本: 24

参数:

参数项描述
const ContentEmbed_StorageElements *storageElements指向ContentEmbed_StorageElements实例指针。
size_t index要获取的元素的索引位置,从0开始计数。
ContentEmbed_StorageElement **storageElement输出参数。指向ContentEmbed_StorageElement实例指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElement_GetName()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_GetName(const ContentEmbed_StorageElement *storageElement, char *name, size_t nameSize)

描述

获取ContentEmbed_StorageElement实例的名称。

起始版本: 24

参数:

参数项描述
const ContentEmbed_StorageElement *storageElement指向ContentEmbed_StorageElement实例指针。
char *name输出参数。用于存储元素名称字符串。
size_t nameSize表示name缓冲区的大小,单位为字节。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElement_GetCTime()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_GetCTime(const ContentEmbed_StorageElement *element, uint64_t *ctime)

描述

获取ContentEmbed_StorageElement实例的创建时间戳,单位为毫秒。

起始版本: 24

参数:

参数项描述
const ContentEmbed_StorageElement *element指向ContentEmbed_StorageElement实例指针。
uint64_t *ctime输出参数。指向元素的创建时间戳,单位为毫秒。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElement_GetMTime()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_GetMTime(const ContentEmbed_StorageElement *element, uint64_t *mtime)

描述

获取ContentEmbed_StorageElement实例的最后修改时间戳,单位为毫秒。

起始版本: 24

参数:

参数项描述
const ContentEmbed_StorageElement *element指向ContentEmbed_StorageElement实例指针。
uint64_t *mtime输出参数。指向元素的最后修改时间戳,单位为毫秒。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElement_IsStorage()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_IsStorage(const ContentEmbed_StorageElement *storageElement, bool *isStorage)

描述

检查ContentEmbed_StorageElement实例是否为OE文档Storage对象。

起始版本: 24

参数:

参数项描述
const ContentEmbed_StorageElement *storageElement指向ContentEmbed_StorageElement实例指针。
bool *isStorage输出参数。true表示是OE文档Storage对象;false表示不是OE文档Storage对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_StorageElement_IsStream()

ContentEmbed_ErrorCode OH_ContentEmbed_StorageElement_IsStream(const ContentEmbed_StorageElement *element, bool *isStream)

描述

检查ContentEmbed_StorageElement实例是否为OE文档Stream对象。

起始版本: 24

参数:

参数项描述
const ContentEmbed_StorageElement *element指向ContentEmbed_StorageElement实例指针。
bool *isStream输出参数。true表示是OE文档Stream对象;false表示不是OE文档Stream对象。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

OH_ContentEmbed_Storage_CopyTo()

ContentEmbed_ErrorCode OH_ContentEmbed_Storage_CopyTo(ContentEmbed_Storage *srcStorage, ContentEmbed_Storage *destStorage)

描述

将源OE文档Storage对象中的所有子Storage对象和Stream对象复制到目标OE文档Storage对象。

起始版本: 24

参数:

参数项描述
ContentEmbed_Storage *srcStorage指向源OE文档Storage对象指针。
ContentEmbed_Storage *destStorage指向目标OE文档Storage对象指针。

返回:

类型说明
ContentEmbed_ErrorCode返回特定的错误码:
CE_ERR_OK:表示操作成功。
CE_ERR_PARAM_INVALID:表示参数检查失败。
CE_ERR_NULL_POINTER:表示返回空指针。
CE_ERR_STORAGE_OPERATION_FAILED:表示存储操作失败。
CE_ERR_DEVICE_NOT_SUPPORTED:表示设备不支持。
CE_ERR_IN_DLP_SANDBOX:表示应用在DLP沙箱中,不支持此操作。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 capi-contentembed-contentembed-format

openharmony 鸿蒙 capi-contentembed-contentembed-extensioncontext

openharmony 鸿蒙 capi-content-embed-proxy-h

openharmony 鸿蒙 Readme-CN

openharmony 鸿蒙 capi-contentembed-contentembed-extensioninstance8h

openharmony 鸿蒙 capi-content-embed-extension-h

openharmony 鸿蒙 capi-contentembed-contentembed-storage

openharmony 鸿蒙 capi-contentembed-contentembed-document

openharmony 鸿蒙 capi-contentembed-contentembed-extensioncontext8h

openharmony 鸿蒙 capi-contentembed-contentembed-info

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/lNRgXzk1