get_message_tupleT_get_message_tupleGetMessageTupleGetMessageTupleget_message_tuple (算子)
名称
get_message_tupleT_get_message_tupleGetMessageTupleGetMessageTupleget_message_tuple — 从消息中检索与键关联的元组。
签名
def get_message_tuple(message_handle: HHandle, key: Union[str, int]) -> Sequence[HTupleElementType]
def get_message_tuple_s(message_handle: HHandle, key: Union[str, int]) -> HTupleElementType
描述
get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple retrieves a tuple associated with the KeyKeyKeyKeykeykey
from the message denoted by the MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle.
The tuple has to be previously stored to the message using
set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTupleset_message_tuple。
The operator returns the data in the parameter TupleDataTupleDataTupleDataTupleDatatupleDatatuple_data.
The data including strings is copied by the operation, the message can thus
be immediately reused.
If the given KeyKeyKeyKeykeykey is not present in the message or if the data
associated with the key is not a tuple, get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple fails.
Presence of keys and information about the data associated with the key
can be verified using get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParamget_message_param。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
MessageHandleMessageHandleMessageHandleMessageHandlemessageHandlemessage_handle (输入控制) message → HMessage, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Message handle.
元素数量:
MessageHandle == 1
限制:
MessageHandle != 0
KeyKeyKeyKeykeykey (输入控制) string → HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Key string or integer.
元素数量:
Key == 1
TupleDataTupleDataTupleDataTupleDatatupleDatatuple_data (输出控制) tuple(-array) → HTupleSequence[HTupleElementType]HTupleHtuple (string / integer / real / handle) (string / int / long / double / HHandle) (HString / Hlong / double / HHandle) (char* / Hlong / double / handle)
Tuple value retrieved from the message.
示例(HDevelop)
* ...
get_message_param (Message,'key_exists',['simple_string','foo','my_image'],\
KeysPresence)
get_message_param (Message,'key_data_type',['simple_string','my_image'],\
KeysType)
get_message_tuple (Message,'simple_string',TupleString)
结果
If the operation succeeds, get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple 返回 2 ( H_MSG_TRUE )。否则将抛出异常。 Possible error conditions include
invalid parameters (handle or key), the required key not found in the
message, or other than tuple data associated with given key.
可能的前趋
dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message
替代
get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj
另见
create_messagecreate_messageCreateMessageCreateMessageCreateMessagecreate_message,
clear_messageclear_messageClearMessageClearMessageClearMessageclear_message,
set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTupleset_message_tuple,
set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObjset_message_obj,
get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj,
set_message_paramset_message_paramSetMessageParamSetMessageParamSetMessageParamset_message_param,
get_message_paramget_message_paramGetMessageParamGetMessageParamGetMessageParamget_message_param,
enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessageenqueue_message,
dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message
模块
基础