range 특성
[range] 특성을 사용하면 런타임에 값이 설정된 인수 또는 필드에 허용되는 값 범위를 지정할 수 있습니다. 파이프 형식과 함께 사용할 경우 특성은 파이프 청크의 요소 수에 허용되는 범위를 지정합니다.
[range(low-val,high-val)] type-specifier declarator
매개 변수
-
low-val
-
매개 변수 또는 필드가 보유할 수 있는 가장 낮은 허용 값입니다.
-
high-val
-
매개 변수 또는 필드가 보유할 수 있는 가장 높은 허용 값입니다.
-
type-specifier
-
hyper 또는 __int64 이외의 정수 형식, 정수 형식에 대한 형식 식별자, 열거형 형식 또는 파이프 형식 이름입니다.
-
declarator
-
식별자와 같은 표준 C 선언자입니다.
설명
[range] 특성을 사용하여 크기 또는 길이에 사용되는 것과 같은 중요한 매개 변수 또는 필드의 의미를 준수하거나 다양한 배열로 수정합니다. 또는 유효한 값 범위에 대해 매개 변수 또는 필드 값을 검사 합니다. 특성은 최상위 매개 변수와 하위 수준 매개 변수 및 필드에 적용할 수 있습니다. 형식에 [range] 특성을 추가해도 와이어 형식은 변경되지 않으므로 이전 버전과의 호환성에 영향을 주지 않습니다.
[range] 특성은 버퍼 또는 규칙 특성이 있는 배열과 같은 규칙 데이터에도 사용할 수 있습니다. 이 효과는 규칙 데이터에 대한 모든 규칙 크기를 지정된 범위로 제한하는 것입니다. 준수 데이터가 다차원 배열인 경우 각 배열 차원은 지정된 범위로 제한됩니다.
준수 데이터에 [range] 를 사용하려면 컴파일 대상이 â€"target NT60 이상이어야 합니다.
이러한 검사를 수행할 스텁 코드를 생성하려면 IDL 파일을 컴파일할 때 /strong 컴파일러 옵션을 사용해야 합니다. /strong 스위치가 없으면 MIDL 컴파일러는 이 특성을 무시합니다.
예
HRESULT Method1(
[in, range(0,100)] ULONG m,
[in, range(0,100)] ULONG n,
[size_is(m,n)] ULONG **pplong);
void InPipe(
[in, range(0, MAX_CHUNK) LONG_PIPE pipe_date);
참고 항목