名称

zmq_msg_init_buffer - 用缓冲区副本初始化 0MQ 消息

概要

int zmq_msg_init_buffer (zmq_msg_t '*msg', const void '*buf', size_t 'size');

描述

zmq_msg_init_buffer() 函数应分配存储长度为 'size' 字节的消息所需的任何资源,并将 'msg' 引用的消息对象初始化为 'buf' 和 'size' 参数引用的缓冲区的副本。

实现应选择是将消息内容存储在栈上(小消息)还是堆上(大消息)。

注意
切勿直接访问 'zmq_msg_t' 的成员,而应始终使用 zmq_msg 系列函数。
注意
函数 zmq_msg_init()zmq_msg_init_data()zmq_msg_init_size()zmq_msg_init_buffer() 是互斥的。切勿对同一个 'zmq_msg_t' 初始化两次。

返回值

如果成功,zmq_msg_init_buffer() 函数应返回零。否则,应返回 -1 并将 'errno' 设置为下面定义的一个值。

错误

ENOMEM

存储空间不足。

另见

作者

此页面由 0MQ 社区编写。要进行修改,请阅读 0MQ 贡献政策,地址为 https://zeromq.cn/how-to-contribute/