基本数据类型

本部分包含有关 MQI (或出口函数) 中使用的数据类型的信息。 下面详细描述了这些内容,然后在以下主题中显示了如何在受支持的编程语言中声明基本数据类型的示例。

MQI (或出口函数) 中使用的数据类型为:
  • 基本数据类型,或
  • 基本数据类型 (数组或结构) 的聚集
MQI (或出口函数) 中使用以下基本数据类型:
基本数据类型名称 数据类型 描述
MQBOOL 布尔

MQBOOL 数据类型表示布尔值。 值 0 表示 false。 任何其他值都表示 true。 MQBOOL 必须与 MQLONG 数据类型一致。

MQBYTE Byte

MQBYTE 数据类型表示单个字节的数据。 没有特殊解释放在字节上; 它被视为一串位,而不被视为二进制数字或字符。 不需要特殊对齐。

在使用不同字符集或编码的队列管理器之间发送 MQBYTE 数据时, 不会 以任何方式转换 MQBYTE 数据。 MQMD 结构中的 MsgIdCorrelId 字段如下所示。

MQBYTE 的数组有时用于表示队列管理器未知的主存储器区域。 例如,该区域可能包含应用程序消息数据或结构。 此区域的边界对齐必须与其中包含的数据的性质兼容。

在 C 编程语言中,任何数据类型都可以用于显示为 MQBYTE 数组的函数参数。 这是因为此类参数总是由地址传递,而在 C 中,函数参数被声明为指针到空。

MQBYTEn n 字节的字符串

每种 MQBYTEn 数据类型都表示一个 n 字节的字符串,其中 n 可以采用以下任何值: 8 , 16,24,32,40 或 128。 每个字节都由 MQBYTE 数据类型描述。 不需要特殊对齐。

如果字节字符串中的数据比定义的字符串长度短,那么必须使用空值填充数据以填充字符串。

当队列管理器将字节字符串返回到应用程序 (例如,在 MQGET 调用上) 时,队列管理器会将空值填充到定义的字符串长度。

指定的常量可用于定义字节字符串字段的长度。 这些在 常量 中列出

MQCHAR 字符

MQCHAR 数据类型表示单字节字符,或者表示双字节或多字节字符的一个字节。 不需要特殊对齐。

在使用不同字符集或编码的队列管理器之间发送 MQCHAR 数据时, MQCHAR 数据通常需要转换才能正确解释数据。 队列管理器会自动对 MQMD 结构中的 MQCHAR 数据执行此操作。 应用程序消息数据中 MQCHAR 数据的转换由 MQGET 调用上指定的 MQGMO_CONVERT 选项控制; 请参阅 MQGMO-Get-message 选项 中此选项的描述以获取更多详细信息。

MQCHARn n 个字符的字符串

每种 MQCHARn 数据类型都表示一个由 n 个字符组成的字符串,其中 n 可以采用以下任何值: 4 , 8 , 12 , 20 , 28 , 32 , 48 , 64 , 128 或 256。 每个字符都由 MQCHAR 数据类型描述。 不需要特殊对齐。

如果字符串中的数据短于定义的字符串长度,那么必须用空格填充数据以填充字符串。 在某些情况下,可以使用空字符来过早结束字符串,而不是用空格填充; 空字符及其后面的字符被视为空格,直至字符串的定义长度。 可以使用空值的位置在调用和数据类型描述中标识。

当队列管理器将字符串返回到应用程序 (例如,在 MQGET 调用上) 时,队列管理器始终以空白填充字符串的定义长度; 队列管理器不会使用空字符来定界字符串。

命名常量可用于定义字符串字段的长度,并在 常量中列出。

MQFLOAT32 32 位浮点数

MQFLOAT32 数据类型是使用标准 IEEE 浮点格式表示的 32 位浮点数。 MQFLOAT32 必须在 4 字节边界上对齐。

z/OS® 上的 C 中使用 MQFLOAT32 需要使用 FLOAT (IEEE) 编译器标志。

在 COBOL 中使用 MQFLOAT32 仅限于支持 IEEE 格式的浮点数的编译器。 这可能需要使用 FLOAT (NATIVE) 编译器标志。

MQFLOAT64 64 位浮点数

MQFLOAT64 数据类型是使用标准 IEEE 浮点格式表示的 64 位浮点数。 MQFLOAT64 必须在 8 字节边界上对齐。

z/OS 上的 C 中使用 MQFLOAT64 需要使用 FLOAT (IEEE) 编译器标志。

在 COBOL 中使用 MQFLOAT64 仅限于支持 IEEE 格式的浮点数的编译器。 这可能需要使用 FLOAT (NATIVE) 编译器标志。

MQHCONFIG 配置句柄

MQHCONFIG 数据类型表示配置句柄,即正在为特定可安装服务配置的组件。 配置句柄必须在其自然边界上对齐。

应用程序不得依赖于此句柄中存储的数据的格式。 如果有效,那么其值将在进一步的 MQI 调用中可用,但不打算具有除此用途以外的任何含义。

MQHCONN 连接句柄

MQHCONN 数据类型表示连接句柄,即与特定队列管理器的连接。 连接句柄必须在 4 字节边界上对齐。

应用程序不得依赖于此句柄中存储的数据的格式。 如果有效,那么其值将在进一步的 MQI 调用中可用,但不打算具有除此用途以外的任何含义。

MQHMSG 消息句柄

MQHMSG 数据类型表示允许访问消息的消息句柄。 消息句柄必须在 8 字节边界上对齐。

应用程序不得依赖于此句柄中存储的数据的格式。 如果有效,那么其值将在进一步的 MQI 调用中可用,但不打算具有除此用途以外的任何含义。

MQHOBJ 对象句柄

MQHOBJ 数据类型表示授予对象访问权的对象句柄。 对象句柄必须在 4 字节边界上对齐。

应用程序不得依赖于此句柄中存储的数据的格式。 如果有效,那么其值将在进一步的 MQI 调用中可用,但不打算具有除此用途以外的任何含义。

MQINT8 8 位带符号整数 MQINT8 数据类型是 8 位带符号整数,可采用范围在 -128 到 +127 之间的任何值,除非上下文另有限制。
MQINT16 16 位带符号整数 MQINT16 数据类型是一个 16 位带符号整数,可以采用 -32 768 到 +32 767 范围内的任何值,除非上下文另有限制。 MQINT16 必须在 2 字节边界上对齐。
MQINT32 32 位带符号整数

MQINT32 数据类型是一个32位有符号二进制整数,其取值范围是 -2 147 483 648到+2 147 483 647,除非上下文另有规定。

请参阅 MQLONG的定义。

MQINT64 64 位带符号整数

MQINT64 数据类型是一个64位有符号整数,可以取值范围是 -9 223 372 036 854 775 808到+9 223 372 036 854 775 807,除非上下文另有规定。

对于 COBOL ,有效范围限制为 -999 999 999 999 999 999 到 +999 999 999 999 999 999。 64 位整数必须在 8 字节边界上对齐。

MQLONG 32 位带符号整数

MQLONG数据类型是一种32位有符号二进制整数,其取值范围为 -2 147 483 648至+2 147 483 647,除非上下文另有规定。

对于 COBOL ,有效范围限制为 -999 999 999 到 +999 999 999。 MQLONG 必须在 4 字节边界上对齐。

MQPID 进程标识

IBM® MQ 进程标识。

这是 MQ 跟踪和 FFST™ 转储中使用的相同标识,但可能与操作系统进程标识不同。

MQPTR 指针

MQPTR 数据类型是任何类型的数据的地址。 指针必须在其自然边界上对齐; 这是 IBM i上的 16 字节边界,其他平台上的 8 字节边界。

某些编程语言支持有类型的指针; MQI 也在一些情况下使用这些指针 (例如,在 C 编程语言中使用 PMQCHAR 和 PMQLONG)。

MQTID 线程标识

IBM MQ 线程标识。

这是 MQ 跟踪和 FFST™ 转储中使用的相同标识,但可能与操作系统线程标识不同。

MQUINT8 8 位无符号整数 MQUINT8 数据类型是一个 8 位无符号整数,可采用范围在 0 到 +255 之间的任何值,除非上下文另有限制。
MQUINT16 16 位无符号整数 MQUINT16 数据类型是一个 16 位无符号整数,可以采用 0 到 +65 535 范围内的任何值,除非上下文另有限制。 MQUINT16 必须在 2 字节边界上对齐。
MQUINT32 32 位无符号整数

MQUINT32 数据类型是 32 位无符号二进制整数。

请参阅 MQULONG的定义。

MQUINT64 64 位无符号整数

MQINT64 数据类型是 64 位无符号整数,可以采用 0 到 +18 446 744 073 709 551 615 范围内的任何值,除非上下文另有限制。

对于 COBOL ,有效范围限制为 0 到 +999 999 999 999 999 999。 64 位整数必须在 8 字节边界上对齐。

MQULONG 32 位无符号整数

MQULONG 数据类型是 32 位无符号二进制整数,可以采用 0 到 + 4 294 967 294 范围内的任何值,除非上下文另有限制。

对于 COBOL ,有效范围限制为 0 到 +999 999 999。 MQULONG 必须在 4 字节边界上对齐。

PMQACH 指针 指向 MQACH 类型的数据结构的指针
PMQAIR 指针 指向 MQAIR 类型的数据结构的指针
PMQAXC 指针 指向 MQAXC 类型的数据结构的指针
PMQAXP 指针 指向 MQAXP 类型的数据结构的指针
PMQBMHO 指针 指向 MQBMHO 类型的数据结构的指针
PMQBO 指针 指向 MQBO 类型的数据结构的指针
PMQBOOL 指针 指向 MQBOOL 类型的数据的指针
PMQBYTE 指针 指向 MQBYTE 类型数据的指针
PMQBYTEn 指针 指向类型为 MQBYTEn 的数据的指针,其中 n 可以是 8 , 16,24,32,40,128
PMQCBC 指针 指向 MQCBC 类型的数据结构的指针
PMQCBD 指针 指向 MQCBD 类型的数据结构的指针
PMQCHAR 指针 指向 MQCHAR 类型的数据的指针
PMQCHARN 指针 指向数据类型 MQCHARN 的指针,其中 n 可以是 4 , 8 , 12 , 20 , 28 , 32 , 48 , 64 , 128 , 256 , 264
PMQCHARV 指针 指向 MQCHARV 类型的数据结构的指针
PMQCIH 指针 指向 MQCIH 类型的数据结构的指针
PMQCMHO 指针 指向 MQCMHO 类型的数据结构的指针
PMQCNO 指针 指向 MQCNO 类型的数据结构的指针
PMQCSP 指针 指向 MQCSP 类型的数据结构的指针
PMQCTLO 指针 指向 MQCTLO 类型的数据结构的指针
PMQDH 指针 指向 MQDH 类型的数据结构的指针
PMQDHO 指针 指向 MQDHO 类型的数据结构的指针
PMQDLH 指针 指向 MQDLH 类型的数据结构的指针
PMQDMHO 指针 指向 MQDMHO 类型的数据结构的指针
PMQDMPO 指针 指向 MQDMPO 类型的数据结构的指针
PMQEPH 指针 指向 MQEPH 类型的数据结构的指针
PMQFLOAT32 指针 指向类型为 MQFLOAT32 的数据结构的指针
PMQFLOAT64 指针 指向类型为 MQFLOAT64 的数据结构的指针
PMQFUNC 指针 指向函数的指针
PMQGMO 指针 指向 MQGMO 类型的数据结构的指针
PMQHCONFIG 指针 指向 MQHCONFIG 类型的数据的指针
PMQHCONN 指针 指向 MQHCONN 类型的数据的指针
PMQHMSG 指针 指向 MQHMSG 类型数据的指针
PMQHOBJ 指针 指向 MQHOBJ 类型的数据的指针
PMQIIH 指针 指向 MQIIH 类型的数据结构的指针
PMQIMPO 指针 指向 MQIMPO 类型的数据结构的指针
PMQINT8 指针 指向类型为 MQINT8 的数据的指针
PMQINT16 指针 指向类型为 MQINT16 的数据的指针
PMQINT32 指针 指向类型为 MQINT32 的数据的指针
PMQINT64 指针 指向类型为 MQINT64 的数据的指针
PMQLONG 指针 指向 MQLONG 类型的数据的指针
PMQMD 指针 指向 MQMD 类型的结构的指针
PMQMDE 指针 指向 MQMDE 类型的数据结构的指针
PMQMD1 指针 指向类型为 MQMD1 的数据结构的指针
PMQMD2 指针 指向类型为 MQMD2 的数据结构的指针
PMQMHBO 指针 指向 MQMHBO 类型的数据结构的指针
PMQOD 指针 指向 MQOD 类型的数据结构的指针
PMQOR 指针 指向 MQOR 类型的数据结构的指针
PMQPD 指针 指向 MQPD 类型的数据结构的指针
PMQPID 指针 指向进程标识的指针
PMQMD 指针 指向 MQMD 类型的数据结构的指针
PMQPMO 指针 指向 MQPMO 类型的数据结构的指针
PMQPTR 指针 指向 MQPTR 类型的数据的指针
PMQRFH 指针 指向 MQRFH 类型的数据结构的指针
PMQRFH2 指针 指向类型为 MQRFH2 的数据结构的指针
PMQRMH 指针 指向 MQRMH 类型的数据结构的指针
PMQRR 指针 指向 MQRR 类型的数据结构的指针
PMQSCO 指针 指向 MQSCO 类型的数据结构的指针
PMQSD 指针 指向 MQSD 类型的数据结构的指针
PMQSMPO 指针 指向 MQSMPO 类型的数据结构的指针
PMQSRO 指针 指向 MQSRO 类型的数据结构的指针
PMSSTS 指针 指向 MQSTS 类型的数据结构的指针
PMQTID 指针 指向线程标识的指针
PMQTM 指针 指向 MQTM 类型的数据结构的指针
PMQTMC2 指针 指向类型为 MQTMC2 的数据结构的指针
PMQUINT8 指针 指向数据类型 MQUINT8 的指针
PMQUINT16 指针 指向数据类型 MQUINT16 的指针
PMQUINT32 指针 指向数据类型 MQUINT32 的指针
PMQUINT64 指针 指向数据类型 MQUINT64 的指针
PMQULONG 指针 指向数据类型 MQULONG 的指针
PMQVOID 指针  
PMQWIH 指针 指向 MQWIH 类型的数据结构的指针
PMQXQH 指针 指向 MQXQH 类型的数据结构的指针