如何创建Peer buffer parameter:(动态分配内存)
MMI 不使用 this buffer 和L4通信
construct_peer_buff(pdu_len, header_len, tail_len, direction);
3.1. 何时释放Peer buffer parameter
当L4接收到消息并处理完成后,会自动释放参数。
free_peer_buff(peer_buff);
例程如下:
Set a volume request:
void SetVolumeLevelReq(volume_type_enum volume_type,U8 volume_level)
{
MYQUEUE Message;
mmi_eq_set_volume_req_struct *setVolumeLevelReq;
Message.oslMsgId = MSG_ID_MMI_EQ_SET_VOLUME_REQ;
//Message ID, reference the l4a.h file
setVolumeLevelReq = OslConstructDataPtr(sizeof(mmi_eq_set_volume_req_struct));
//Create local parameter buffer
setVolumeLevelReq->volume_type = volume_type;
setVolumeLevelReq->volume_level = volume_level;
Message.oslDataPtr = (oslParaType *)setVolumeLevelReq; //Local parameter buffer
Message.oslPeerBuffPtr= NULL; //Peer parameter buffer
Message.oslSrcId=MOD_MMI; //Send from Source module
Message.oslDestId=MOD_L4C; //Send to destination module
OslMsgSendExtQueue(&Message); //Send to L4 task