atributo struct
A palavra-chave struct é usada em um especificador de tipo de estrutura.
struct [[ struct-tag ]]
{
[[ [ field-attribute-list ] ]] type-specifier declarator-list;
...
};
-
struct-tag
-
Especifica uma marca opcional para a estrutura.
-
field-attribute-list
-
Especifica zero ou mais atributos de campo que se aplicam ao membro da estrutura. Os atributos de campo válidos incluem [first_is], [last_is], [length_is], [max_is] e [size_is]; os atributos de uso [cadeiade caracteres] e [ignorar]; o atributo pointer [ref], [unique]ou [ptr]; e o atributo union [switch_type]. Separe vários atributos de campo com vírgulas.
-
type-specifier
-
Especifica um tipo base, struct, união ou identificador de tipo ou tipo de enumeração . Uma especificação de armazenamento opcional pode preceder o especificador de tipo.
-
declarator-list
-
Especifica um ou mais declaradores C padrão, como identificadores, declaradores de ponteiro e declaradores de matriz. (Declaradores de função e declarações de campo de bit não são permitidos em estruturas transmitidas em chamadas de procedimento remoto. Esses declaradores são permitidos em estruturas que não são transmitidas.) Separe vários declaradores com vírgulas.
O especificador de tipo de estrutura IDL, struct, difere do especificador de tipo C padrão das seguintes maneiras:
- Cada membro da estrutura pode ser associado a atributos de campo opcionais que descrevem características desse membro de estrutura para fins de uma chamada de procedimento remoto.
- Campos de bit e declaradores de função não são permitidos em estruturas usadas em chamadas de procedimento remoto. Esses constructos de declarador C padrão só poderão ser usados se a estrutura não for transmitida na rede.
A forma de estruturas deve ser a mesma entre plataformas para garantir a interconectividade.
typedef struct _PITCHER_RECORD_TYPE
{
short flag;
[switch_is(flag)] union PITCHER_STATISTICS_TYPE p;
} PITCHER_RECORD_TYPE;