1# ArkWeb_WebMessageAPI 2 3 4## Overview 5 6Defines a native API for the post message. Before calling the API, you are advised to use **ARKWEB_MEMBER_MISSING** to check whether the function struct has the corresponding pointer to avoid crash caused by mismatch between the SDK and the device ROM. 7 8**Since**: 12 9 10**Related module**: [Web](capi-web.md) 11 12**Header file**: [arkweb_type.h](capi-arkweb-type-h.md) 13 14## Summary 15 16### Member Variables 17 18| Name| Description| 19| -- | -- | 20| size_t size | Size of the struct.| 21 22 23### Member Functions 24 25| Name | Description | 26|----------------------------------------------------------------------------------------------|------------------------------------------------------------------------| 27| [ArkWeb_WebMessagePtr (\*createWebMessage)()](#createwebmessage) | Creates a message. | 28| [void (\*destroyWebMessage)(ArkWeb_WebMessagePtr* webMessage)](#destroywebmessage) | Destroys a message. | 29| [void (\*setType)(ArkWeb_WebMessagePtr webMessage, ArkWeb_WebMessageType type)](#settype) | Sets the message type. | 30| [ArkWeb_WebMessageType (\*getType)(ArkWeb_WebMessagePtr webMessage)](#gettype) | Obtains the message type. | 31| [void (\*setData)(ArkWeb_WebMessagePtr webMessage, void* data, size_t dataLength)](#setdata) | Sets data.| 32| [void* (*getData)(ArkWeb_WebMessagePtr webMessage, size_t* dataLength)](#getdata) | Obtains data. | 33 34## Member Function Description 35 36### createWebMessage() 37 38``` 39ArkWeb_WebMessagePtr (*createWebMessage)() 40``` 41 42**Description** 43 44Creates a message. 45 46**Returns** 47 48| Type | Description| 49|--------------------------|----| 50| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) | Message struct. | 51 52### destroyWebMessage() 53 54``` 55void (*destroyWebMessage)(ArkWeb_WebMessagePtr* webMessage) 56``` 57 58**Description** 59 60Destroys a message. 61 62### setType() 63 64``` 65void (*setType)(ArkWeb_WebMessagePtr webMessage, ArkWeb_WebMessageType type) 66``` 67 68**Description** 69 70Sets the message type. @param webMessage Pointer to the message struct. @param type Message type. 71 72**Parameters** 73 74| Name | Description| 75|---------------------------------------------------------------------------|----| 76| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | Pointer to the message struct. | 77| [ArkWeb_WebMessageType](capi-arkweb-type-h.md#arkweb_webmessagetype) type | Message type. | 78 79### getType() 80 81``` 82ArkWeb_WebMessageType (*getType)(ArkWeb_WebMessagePtr webMessage) 83``` 84 85**Description** 86 87Obtains the message type. 88 89**Parameters** 90 91| Name | Description| 92|-------------------------------------|----| 93| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | Pointer to the message struct. | 94 95### setData() 96 97``` 98void (*setData)(ArkWeb_WebMessagePtr webMessage, void* data, size_t dataLength) 99``` 100 101**Description** 102 103Sets data. 104 105**Parameters** 106 107| Name | Description | 108|----------------------------------------------------------------|----------| 109| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | Pointer to the message struct.| 110| void* data | Pointer to the data. | 111| size_t dataLength | Data length. | 112 113 114### getData() 115 116``` 117void* (*getData)(ArkWeb_WebMessagePtr webMessage, size_t* dataLength) 118``` 119 120**Description** 121 122Obtains data. 123 124**Parameters** 125 126| Name | Description | 127|----------------------|----------| 128| [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | Pointer to the message struct.| 129| size_t* dataLength | Data length, which is an output parameter. | 130 131**Returns** 132 133| Type| Description | 134|----|-------| 135| void* | Pointer to the data.| 136