ApplIdentityData (MQCHAR32)
ApplIdentityData 是由应用程序套件定义的信息,可用于提供有关消息或其发起方的其他信息。 队列管理器将此信息视为字符数据,但不定义其格式。 当队列管理器生成此信息时,它完全为空白。
对于 MQPUT 和 MQPUT1 调用,如果在 PutMsgOpts 参数中指定了 MQPMO_SET_IDENTITY_CONTEXT 或 MQPMO_SET_ALL_CONTEXT ,那么这是输入/输出字段。 如果存在空字符,那么队列管理器会将空字符和以下任何字符转换为空白。 如果既未指定 MQPMO_SET_IDENTITY_CONTEXT ,也未指定 MQPMO_SET_ALL_CONTEXT ,那么此字段在输入时将被忽略,并且是仅输出字段。 有关消息上下文的更多信息,请参阅 消息上下文。
成功完成 MQPUT 或 MQPUT1 调用后,此字段包含随消息一起传输的 ApplIdentityData (如果将其放入队列)。 如果保留消息,那么这将是 ApplIdentityData 的值 (请参阅 MQPMO_RETAIN 的描述以获取有关保留发布的更多详细信息) ,但在将消息作为发布内容发送给订户时,不会将此值用作 ApplIdentityData ,因为它们提供的值将覆盖发送给订户的所有发布内容中的 ApplIdentityData 。 如果消息没有上下文,那么该字段完全为空白。
这是 MQGET 调用的输出字段。 此字段的长度由 MQ_APPL_IDENTITY_DATA_LENGTH 给出。 此字段的初始值是 C 中的空字符串,在其他编程语言中为 32 个空白字符。