Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
[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