max _ is attribute

El [ atributo max _ is ] designa el valor máximo para un índice de matriz válido.

[max_is(limited-expression-list )]

Parámetros

limited-expression-list

Especifica una o varias expresiones de lenguaje C. Cada expresión se evalúa como un entero que representa el índice de matriz válido más alto. El compilador MIDL admite expresiones condicionales, expresiones lógicas, expresiones relacionales y expresiones aritméticas. MIDL no permite invocaciones de función en expresiones y no permite operadores de incremento y decremento. Separe varias expresiones con comas.

Observaciones

El [ atributo max _ is ] no se corresponde necesariamente con el número de elementos de la matriz. Para una matriz de tamaño n en C, donde el primer elemento de matriz es el número de elemento cero, el valor máximo de un índice de matriz válido es n-1.

El [ atributo max _ is ] no se puede usar como atributo de campo al mismo tiempo que [ el atributo size _ is. ]

Aunque es legal usar el atributo [ max _ is ] con una expresión constante, hacerlo es ineficaz e innecesario. Por ejemplo, use una matriz de tamaño fijo:

/* transmits values of a[0]... a[MAX_SIZE-1] */ 
HRESULT Proc3([in] short Arr[MAX_SIZE]); 

en lugar de:

/* legal but marshaling code is much slower */ 
HRESULT Proc3([in max_is(MAX_SIZE-1)] short Arr[] );

Ejemplos

/* if m = 10, there are 11 transmitted elements (a[0]...a[10])*/ 
HRESULT Proc1( 
    [in] short m, 
    [in, max_is(m)] short a[]);  
 
/* if m = 10, the valid range for b is b[0...10][20] */ 
HRESULT Proc2( 
    [in] short m, 
    [in, max_is(m)] short b[][20];

Vea también

Atributos de campo

Archivo de definición de interfaz (IDL)

min _ es

el _ tamaño es