range özniteliği

[range] özniteliği, çalışma zamanında değerleri ayarlanmış bağımsız değişkenler veya alanlar için izin verilen değerler aralığı belirtmenize olanak tanır. Bir kanal türüyle kullanıldığında özniteliği, kanal öbeklerindeki öğelerin sayısı için izin verilebilen aralığı belirtir.

[range(low-val,high-val)] type-specifier declarator

Parametreler

düşük değerli

Parametrenin veya alanın tutabileceği izin verilebilen en düşük değer.

yüksek değerli

Parametrenin veya alanın tutabileceği en yüksek izin verilebilen değerdir.

type-specifier

Hyper veya __int64 dışında bir integral türü, tam sayı türüne yönelik bir tür tanımlayıcısı, sabit listesi türü veya kanal türü adı.

Bildiricisi

Tanımlayıcı gibi standart bir C bildirimcisi.

Açıklamalar

[range] özniteliğini kullanarak hassas parametrelerin veya alanların (boyut veya uzunluk için kullanılanlar gibi) anlamını uyumlu veya değişken dizilerle değiştirin; veya bir parametre veya alan değerini geçerli bir değer aralığına göre denetlemek istediğinizde. özniteliği, üst düzey parametrelerin yanı sıra alt düzey parametreler ve alanlar için de geçerlidir. [range] özniteliğinin bir türe eklenmesi kablo biçimini değiştirmez, bu nedenle geriye dönük uyumluluğu etkilemez.

[range] özniteliği, arabellekler veya uyumluluk özniteliğine sahip diziler gibi uyumlu verilerde de kullanılabilir. Bunun etkisi, uyumlu veriler için tüm uyumluluk boyutlarını belirtilen aralıkla sınırlamaktır. Uyumlu veriler çok boyutlu bir diziyse, her dizi boyutu belirtilen aralıkla sınırlıdır.

Uyumlu verilerde [range] kullanımı derleme hedefinin veya daha yüksek olmasını --target NT60 gerektirir.

Bu denetimleri gerçekleştirecek saplama kodunu oluşturmak için IDL dosyanızı derlerken /robust derleyici seçeneğini kullanmanız gerektiğini unutmayın. /robust anahtarı olmadan, MIDL derleyicisi bu özniteliği yoksayar.

Örnekler

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);

Ayrıca bakınız

Arabirim Tanımı (IDL) Dosyası

Dizi

first_is

last_is

length_is

max_is

/Sağlam

size_is

switch_is