harmony 鸿蒙ipc_cparcel.h

  • 2025-06-16
  • 浏览 (2)

ipc_cparcel.h

概述

提供IPC序列化/反序列化C接口。

库: libipc_capi.so

系统能力: SystemCapability.Communication.IPC.Core

起始版本: 12

相关模块:OHIPCParcel

汇总

类型定义

名称 描述
typedef void *(* OH_IPC_MemAllocator) (int32_t len) 内存分配函数类型。

函数

名称 描述
OHIPCParcel * OH_IPCParcel_Create (void) 创建OHIPCParcel对象,对象可序列化大小不能超过204800字节。
void OH_IPCParcel_Destroy (OHIPCParcel *parcel) 销毁OHIPCParcel对象。
int OH_IPCParcel_GetDataSize (const OHIPCParcel *parcel) 获取OHIPCParcel对象包含的数据的大小。
int OH_IPCParcel_GetWritableBytes (const OHIPCParcel *parcel) 获取OHIPCParcel对象可以写入的字节数。
int OH_IPCParcel_GetReadableBytes (const OHIPCParcel *parcel) 获取OHIPCParcel对象还可以读取的字节数。
int OH_IPCParcel_GetReadPosition (const OHIPCParcel *parcel) 获取OHIPCParcel对象当前读取位置。
int OH_IPCParcel_GetWritePosition (const OHIPCParcel *parcel) 获取OHIPCParcel对象当前写入位置。
int OH_IPCParcel_RewindReadPosition (OHIPCParcel *parcel, uint32_t newReadPos) 重置OHIPCParcel对象读取位置。
int OH_IPCParcel_RewindWritePosition (OHIPCParcel *parcel, uint32_t newWritePos) 重置OHIPCParcel对象写入位置。
int OH_IPCParcel_WriteInt8 (OHIPCParcel *parcel, int8_t value) 向OHIPCParcel对象写入int8_t值。
int OH_IPCParcel_ReadInt8 (const OHIPCParcel *parcel, int8_t *value) 从OHIPCParcel对象读取int8_t值。
int OH_IPCParcel_WriteInt16 (OHIPCParcel *parcel, int16_t value) 向OHIPCParcel对象写入int16_t值。
int OH_IPCParcel_ReadInt16 (const OHIPCParcel *parcel, int16_t *value) 从OHIPCParcel对象读取int16_t值。
int OH_IPCParcel_WriteInt32 (OHIPCParcel *parcel, int32_t value) 向OHIPCParcel对象写入int32_t值。
int OH_IPCParcel_ReadInt32 (const OHIPCParcel *parcel, int32_t *value) 从OHIPCParcel对象读取int32_t值。
int OH_IPCParcel_WriteInt64 (OHIPCParcel *parcel, int64_t value) 向OHIPCParcel对象写入int64_t值。
int OH_IPCParcel_ReadInt64 (const OHIPCParcel *parcel, int64_t *value) 从OHIPCParcel对象读取int64_t值。
int OH_IPCParcel_WriteFloat (OHIPCParcel *parcel, float value) 向OHIPCParcel对象写入float值。
int OH_IPCParcel_ReadFloat (const OHIPCParcel *parcel, float *value) 从OHIPCParcel对象读取float值。
int OH_IPCParcel_WriteDouble (OHIPCParcel *parcel, double value) 向OHIPCParcel对象写入double值。
int OH_IPCParcel_ReadDouble (const OHIPCParcel *parcel, double *value) 从OHIPCParcel对象读取double值。
int OH_IPCParcel_WriteString (OHIPCParcel *parcel, const char *str) 向OHIPCParcel对象写入字符串,包含字符串结束符。
const char * OH_IPCParcel_ReadString (const OHIPCParcel *parcel) 从OHIPCParcel对象读取字符串,用户可通过strlen获取字符串长度。
int OH_IPCParcel_WriteBuffer (OHIPCParcel *parcel, const uint8_t *buffer, int32_t len) 向OHIPCParcel对象写入指定长度的内存信息。
const uint8_t * OH_IPCParcel_ReadBuffer (const OHIPCParcel *parcel, int32_t len) 从OHIPCParcel对象读取指定长度内存信息。
int OH_IPCParcel_WriteRemoteStub (OHIPCParcel *parcel, const OHIPCRemoteStub *stub) 向OHIPCParcel对象写入OHIPCRemoteStub对象。
OHIPCRemoteStub * OH_IPCParcel_ReadRemoteStub (const OHIPCParcel *parcel) 从OHIPCParcel对象读取OHIPCRemoteStub对象。
int OH_IPCParcel_WriteRemoteProxy (OHIPCParcel *parcel, const OHIPCRemoteProxy *proxy) 向OHIPCParcel对象写入OHIPCRemoteProxy对象。
OHIPCRemoteProxy * OH_IPCParcel_ReadRemoteProxy (const OHIPCParcel *parcel) 从OHIPCParcel对象读取OHIPCRemoteProxy对象。
int OH_IPCParcel_WriteFileDescriptor (OHIPCParcel *parcel, int32_t fd) 向OHIPCParcel对象写入文件描述符。
int OH_IPCParcel_ReadFileDescriptor (const OHIPCParcel *parcel, int32_t *fd) 从OHIPCParcel对象读取文件描述符。
int OH_IPCParcel_Append (OHIPCParcel *parcel, const OHIPCParcel *data) OHIPCParcel对象数据拼接。
int OH_IPCParcel_WriteInterfaceToken (OHIPCParcel *parcel, const char *token) 向OHIPCParcel对象写入接口描述符,用于接口身份校验。
int OH_IPCParcel_ReadInterfaceToken (const OHIPCParcel *parcel, char **token, int32_t *len, OH_IPC_MemAllocator allocator) 从OHIPCParcel对象读取接口描述符信息,用于接口身份校验。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙IPC Kit(进程间通信服务)

harmony 鸿蒙IPCKit

harmony 鸿蒙OH_IPC_MessageOption

harmony 鸿蒙OHIPCErrorCode

harmony 鸿蒙OHIPCParcel

harmony 鸿蒙OHIPCRemoteObject

harmony 鸿蒙OHIPCSkeleton

harmony 鸿蒙RPC错误码

harmony 鸿蒙ipc_cremote_object.h

harmony 鸿蒙ipc_cskeleton.h

0  赞