max_is 특성

[max_is] 특성은 유효한 배열 인덱스의 최대값을 지정합니다.

[max_is(limited-expression-list )]

매개 변수

limited-expression-list

하나 이상의 C 언어 식을 지정합니다. 각 식은 유효한 가장 높은 배열 인덱스를 나타내는 정수로 평가됩니다. MIDL 컴파일러는 조건식, 논리 식, 관계형 식 및 산술 식을 지원합니다. MIDL은 식에서 함수 호출을 허용하지 않으며 증가 및 감소 연산자를 허용하지 않습니다. 여러 식을 쉼표로 구분합니다.

설명

[max_is] 특성이 배열의 요소 수와 반드시 일치하지는 않습니다. 첫 번째 배열 요소가 요소 번호 0인 C의 n 크기 배열의 경우 유효한 배열 인덱스의 최대값은 n-1입니다.

[max_is] 특성은 [size_is] 특성과 동시에 필드 특성으로 사용할 수 없습니다.

상수 식과 함께 [max_is] 특성을 사용하는 것은 합법적이지만, 이렇게 하는 것은 비효율적이고 불필요합니다. 예를 들어 고정 크기 배열을 사용합니다.

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

위의 선언을 아래의 선언 대신 사용할 수 있습니다.

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

/* 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];

참고 항목

필드 특성

IDL(인터페이스 정의) 파일

min_is

size_is