1# ArkWeb_WebMessageAPI 2<!--Kit: ArkWeb--> 3<!--Subsystem: Web--> 4<!--Owner: @aohui--> 5<!--Designer: @yaomingliu--> 6<!--Tester: @ghiker--> 7<!--Adviser: @HelloCrease--> 8 9 10## 概述 11 12Post Message数据相关的Native API结构体。在调用接口前建议通过[ARKWEB_MEMBER_MISSING](capi-arkweb-type-h.md#宏定义)校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。 13 14**起始版本:** 12 15 16**相关模块:** [Web](capi-web.md) 17 18**所在头文件:** [arkweb_type.h](capi-arkweb-type-h.md) 19 20## 汇总 21 22### 成员变量 23 24| 名称 | 描述 | 25| -- | -- | 26| size_t size | 结构体的大小。 | 27 28 29### 成员函数 30 31| 名称 | 描述 | 32|----------------------------------------------------------------------------------------------|------------------------------------------------------------------------| 33| [ArkWeb_WebMessagePtr (\*createWebMessage)()](#createwebmessage) | 创建消息。 | 34| [void (\*destroyWebMessage)(ArkWeb_WebMessagePtr* webMessage)](#destroywebmessage) | 销毁消息。 | 35| [void (\*setType)(ArkWeb_WebMessagePtr webMessage, ArkWeb_WebMessageType type)](#settype) | 设置消息类型。 | 36| [ArkWeb_WebMessageType (\*getType)(ArkWeb_WebMessagePtr webMessage)](#gettype) | 获取消息类型。 | 37| [void (\*setData)(ArkWeb_WebMessagePtr webMessage, void* data, size_t dataLength)](#setdata) | 设置数据。 | 38| [void* (*getData)(ArkWeb_WebMessagePtr webMessage, size_t* dataLength)](#getdata) | 获取数据。 | 39 40## 成员函数说明 41 42### createWebMessage() 43 44``` 45ArkWeb_WebMessagePtr (*createWebMessage)() 46``` 47 48**描述** 49 50创建消息。 51 52**返回:** 53 54| 类型 | 说明 | 55|--------------------------|----| 56| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) | 消息结构体。 | 57 58### destroyWebMessage() 59 60``` 61void (*destroyWebMessage)(ArkWeb_WebMessagePtr* webMessage) 62``` 63 64**描述** 65 66销毁消息。 67 68**参数:** 69 70| 参数项 | 描述 | 71|---------------------------------------------------------------------------|----| 72| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md)* webMessage | 需要销毁的消息。 | 73 74### setType() 75 76``` 77void (*setType)(ArkWeb_WebMessagePtr webMessage, ArkWeb_WebMessageType type) 78``` 79 80**描述** 81 82设置消息类型。@param webMessage 消息结构体指针。@param type 消息类型。 83 84**参数:** 85 86| 参数项 | 描述 | 87|---------------------------------------------------------------------------|----| 88| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | 消息结构体指针。 | 89| [ArkWeb_WebMessageType](capi-arkweb-type-h.md#arkweb_webmessagetype) type | 消息类型。 | 90 91### getType() 92 93``` 94ArkWeb_WebMessageType (*getType)(ArkWeb_WebMessagePtr webMessage) 95``` 96 97**描述** 98 99获取消息类型。 100 101**参数:** 102 103| 参数项 | 描述 | 104|-------------------------------------|----| 105| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | 消息结构体指针。 | 106 107### setData() 108 109``` 110void (*setData)(ArkWeb_WebMessagePtr webMessage, void* data, size_t dataLength) 111``` 112 113**描述** 114 115设置数据。 116 117**参数:** 118 119| 参数项 | 描述 | 120|----------------------------------------------------------------|----------| 121| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | 消息结构体指针。 | 122| void* data | 数据指针。 | 123| size_t dataLength | 数据长度。 | 124 125 126### getData() 127 128``` 129void* (*getData)(ArkWeb_WebMessagePtr webMessage, size_t* dataLength) 130``` 131 132**描述** 133 134获取数据。 135 136**参数:** 137 138| 参数项 | 描述 | 139|----------------------|----------| 140| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | 消息结构体指针。 | 141| size_t* dataLength | 出参,数据长度。 | 142 143**返回:** 144 145| 类型 | 说明 | 146|----|-------| 147| void* | 数据指针。 |