Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A [tartomány] attribútum lehetővé teszi az olyan argumentumok vagy mezők megengedett értéktartományának megadását, amelyek értékei futásidőben vannak beállítva. Csőtípus használata esetén az attribútum megadja a csőtömbökben lévő elemek számának megengedett tartományát.
[range(low-val,high-val)] type-specifier declarator
Paraméterek
-
alacsony érték
-
A paraméter vagy mező által tartható legalacsonyabb megengedhető érték.
-
magas-val
-
A paraméter vagy mező legnagyobb megengedett értéke.
-
type-specifier
-
A hyper vagy __int64 kivételével egy integráltípus, egy integráltípus típusazonosítója, enumerálási típus vagy csőtípus neve.
-
deklarátor
-
Egy standard C deklarátor, például egy azonosító.
Megjegyzések
A [tartomány] attribútummal módosíthatja a bizalmas paraméterek vagy mezők jelentését, például a mérethez vagy a hosszhoz használt értékeket a megfelelő vagy változó tömbökkel; vagy amikor egy paramétert vagy mezőértéket érvényes értéktartományon szeretne ellenőrizni. Az attribútum a legfelső szintű paraméterekre, valamint az alacsonyabb szintű paraméterekre és mezőkre alkalmazható. A [tartomány] attribútum típushoz való hozzáadása nem változtatja meg a vezeték formátumát, így nem befolyásolja a visszamenőleges kompatibilitást.
A [tartomány] attribútum megfelelő adatokon is használható, például puffereken vagy megfelelőségi attribútummal rendelkező tömbökön. Ennek az a hatása, hogy a megfelelő adatok összes megfelelőségi méretét a megadott tartományra korlátozza. Ha a megfelelő adatok többdimenziós tömbök, minden tömbdimenzió a megadott tartományra korlátozódik.
A [tartomány] megfelelő adatokon való használatához a fordítási célnak vagy annál magasabbnak kell lennie --target NT60 .
Vegye figyelembe, hogy az IDL-fájl lefordításakor a /robust fordítót kell használnia az ellenőrzések végrehajtásához szükséges csonkkód létrehozásához. A /robust kapcsoló nélkül a MIDL fordító figyelmen kívül hagyja ezt az attribútumot.
Examples
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);
Lásd még