struct 属性

结构关键字 (keyword) 用于结构类型说明符。

struct [[ struct-tag ]] 
{
  [[ [ field-attribute-list ] ]] type-specifier declarator-list;
    ...
};

参数

struct-tag

指定结构的可选标记。

field-attribute-list

指定应用于结构成员的零个或多个字段属性。 有效的字段属性包括 [first_is][last_is][length_is][max_is][size_is];用法属性 [string][ignore];指针属性 [ref][unique][ptr];和联合属性 [switch_type]。 用逗号分隔多个字段属性。

type-specifier

指定 基类型结构联合枚举 类型或类型标识符。 可选的存储规范可以在 类型说明符之前。

declarator-list

指定一个或多个标准 C 声明符,例如标识符、指针声明符和数组声明符。 (在远程过程调用中传输的结构中不允许使用函数声明符和位字段声明。这些声明符在未传输的结构中是允许的。) 用逗号分隔多个声明符。

备注

IDL 结构类型说明符 (结构)在以下方面不同于标准 C 类型说明符:

  • 每个结构成员都可以与描述结构成员特征的可选字段属性相关联,以便进行远程过程调用。
  • 不允许在远程过程调用中使用的结构中使用位字段和函数声明符。 仅当结构未在网络上传输时,才能使用这些标准 C 声明符构造。

结构的形状必须跨平台相同,以确保互连。

示例

typedef struct _PITCHER_RECORD_TYPE 
{ 
    short flag; 
    [switch_is(flag)] union PITCHER_STATISTICS_TYPE p; 
} PITCHER_RECORD_TYPE;

另请参阅

阵 列

数组和指针

数组和Sized-Pointer属性

MIDL 基类型

/c_ext

context_handle

枚举

first_is

接口定义 (IDL) 文件

忽略

last_is

length_is

max_is

/osf

Ptr

裁判

size_is

string

switch_type

联盟

unique