基类型
为了防止依赖于实现的数据类型在不同计算机体系结构上导致的问题,MIDL 定义了自己的基数据类型。
基类型 | 说明 |
---|---|
布尔 | 值可以为 TRUE 或 FALSE 的数据项。 |
字节 | 保证传输的 8 位数据项没有任何更改。 |
字符 | 8 位无符号字符数据项。 |
双 | 64 位浮点数。 |
FLOAT | 32 位浮点数。 |
handle_t | 可用于 RPC 绑定或数据序列化的基元句柄。 |
hyper | 可以声明为 有符号 或 无符号 的 64 位整数也可以称为 _int64。 |
int | 可以声明为有 符号 或 无符号的 32 位整数。 |
__int3264 | 一个关键字 (keyword) ,指定具有 32 位或 64 位属性的整型类型。 |
长 | int 的修饰符,指示 32 位整数。 可以声明为 有符号 或 无符号。 |
短 | 可以声明为有 符号 或 无符号的 16 位整数。 |
小 | int 的修饰符,指示 8 位整数。 可以声明为 有符号 或 无符号。 |
wchar_t | 支持作为 IDL 的 Microsoft 扩展的宽字符类型。 因此,如果使用 osf 开关进行编译,/则此类型不可用。 |
头文件 Rpcndr.h 为其中大多数基本数据类型提供定义。 关键字 (keyword) int 可识别,并且可以在 32 位平台上传输。 在 16 位平台上, int 数据类型需要修饰符(如 short 或 long)来指定其长度。
虽然 void * 被 ANSI C 标准识别为泛型指针类型,但 MIDL 会限制其用法。 远程或序列化操作中使用的每个指针必须指向基类型或从基类型构造的类型。 (有一个例外:上下文句柄定义为 void 类型。有关详细信息,请参阅 Context Handles.)