字段属性
字段属性是可以应用于数组、结构、联合或字符数组的字段的属性:
例如,字段属性与数组声明结合使用,以指定数组的大小或包含有效数据的数组部分。 这是通过将另一个参数、结构字段或常量表达式与数组相关联来完成的。
[ignore] 属性指定要在封送处理过程中忽略的指针字段。 此类忽略的字段在接收方端设置为 NULL 。
MIDL 提供 一致性数组、 可变数组和 开放 数组。 如果在运行时确定数组的边界,则称为符合性数组。 [size_is] 属性指定数组的分配大小的上限,[max_is] 属性指定有效数组索引值上的上限。 有关详细信息,请参阅 [arrays]。
如果数组的边界在编译时确定,则称为“变化”,但传输的元素范围在运行时确定。 开放数组 (也称为符合性可变数组) 是一个数组,其传输元素的上限和范围在运行时确定。 若要确定数组的传输元素的范围,数组声明必须包含 [length_is]、 [first_is]或 [last_is] 属性。
[length_is] 属性指定要传输的数组元素数,[first_is] 属性指定要传输的第一个数组元素的索引。 [last_is] 属性指定要传输的最后一个数组元素的索引。
[switch_is] 字段属性指定联合鉴别器。 当联合是过程参数时,联合鉴别器必须是同一过程的另一个参数。 当联合是结构的字段时,鉴别器必须是结构的另一个字段,位于与联合字段相同的级别。 鉴别器必须是 布尔型、 char、 int 或 枚举 类型,或者解析为其中一种类型的类型。 有关详细信息,请参阅非封装联合和 [switch_is]。
[string] field 属性指定将一维字符或字节数组或指向零终止字符或字节流的指针视为字符串。 字符串属性仅适用于一维数组和指针。 元素类型仅限于 char、 byte、 wchar_t 或解析为其中一种的命名类型。
有关显示字段属性的上下文的信息,请参阅 MIDL 数组、 MIDL 结构和MIDL 联合。