Atributos de los campos

Los atributos de campo son los atributos que se pueden aplicar a los campos de una matriz, estructura, unión o matriz de caracteres:

Por ejemplo, los atributos de campo se usan junto con declaraciones de matriz para especificar el tamaño de la matriz o la parte de la matriz que contiene datos válidos. Para ello, se asocia otro parámetro, un campo de estructura o una expresión constante a la matriz.

El [ atributo ignore ] designa los campos de puntero que se omitirán durante el proceso de serialización. Este campo omitido se establece en NULL en el lado receptor.

MIDL proporciona matrices compatibles, variables y abiertas. Una matriz se denomina conforme si sus límites se determinan en tiempo de ejecución. El [ atributo size _ is designa el límite superior en el tamaño de asignación de la matriz y el atributo max is designa el límite superior en el valor de un índice de ] [ _ ] matriz válido. Para obtener más información, vea [ matrices ] .

Se llama a una matriz variable si sus límites se determinan en tiempo de compilación, pero el intervalo de elementos transmitidos se determina en tiempo de ejecución. Una matriz abierta (también denominada matriz variable compatible) es una matriz cuyo límite superior y el intervalo de elementos transmitidos se determinan en tiempo de ejecución. Para determinar el intervalo de elementos transmitidos de una matriz, la declaración de matriz debe incluir una longitud [ _ es, el primero ] [ _ es ] o el último es [ _ el ] atributo .

La [ longitud _ es ] atributo que designa el número de elementos de matriz que se transmitirán y el primer atributo [ _ es ] designa el índice del primer elemento de matriz que se va a transmitir. El [ último atributo _ is ] designa el índice del último elemento de matriz que se va a transmitir.

El [ modificador es _ un ] atributo de campo que designa un discriminador de unión. Cuando la unión es un parámetro de procedimiento, el discriminador de unión debe ser otro parámetro del mismo procedimiento. Cuando la unión es un campo de una estructura, el discriminador debe ser otro campo de la estructura en el mismo nivel que el campo de unión. El discriminador debe ser un tipo booleano, char, into enum, o un tipo que se resuelva en uno de estos tipos. Para obtener más información, vea Nonencapsulated Unions y [ switch _ is ].

El atributo de campo de cadena designa que un carácter unidimensional o una matriz de bytes, o un puntero a un carácter o secuencia de bytes terminados en cero, se trate [ ] como una cadena. El atributo string solo se aplica a matrices unidimensionales y punteros. El tipo de elemento se limita a char, byte, wchar _ to un tipo con nombre que se resuelve en uno de estos tipos.

Para obtener información sobre el contexto en el que aparecen los atributos de campo, vea MidL Arrays, MIDL Structuresy MIDL Unions.