基本数据类型
本部分包含有关 MQI (或出口函数) 中使用的数据类型的信息。 下面详细描述了这些内容,然后在以下主题中显示了如何在受支持的编程语言中声明基本数据类型的示例。
- 基本数据类型,或
- 基本数据类型 (数组或结构) 的聚集
| 基本数据类型名称 | 数据类型 | 描述 |
|---|---|---|
| MQBOOL | 布尔 | MQBOOL 数据类型表示布尔值。 值 0 表示 false。 任何其他值都表示 true。 MQBOOL 必须与 MQLONG 数据类型一致。 |
| MQBYTE | Byte | MQBYTE 数据类型表示单个字节的数据。 没有特殊解释放在字节上; 它被视为一串位,而不被视为二进制数字或字符。 不需要特殊对齐。 在使用不同字符集或编码的队列管理器之间发送 MQBYTE 数据时, 不会 以任何方式转换 MQBYTE 数据。 MQMD 结构中的 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 类型的数据结构的指针 |