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 stream bájtok sorozata. Az NTFS fájlrendszerben a streamek tartalmazzák a fájlba írt adatokat, és több információt adnak egy fájlról, mint attribútumokat és tulajdonságokat. Létrehozhat például egy olyan streamet, amely keresési kulcsszavakat vagy a fájlt létrehozó felhasználói fiók identitását tartalmazza.
A fájlhoz társított összes stream saját foglalási mérettel, tényleges mérettel és érvényes adathosszsal rendelkezik:
- A foglalási méret az a lemezterület, amely egy streamhez van fenntartva.
- A tényleges méret a hívó által használt bájtok száma.
- Az érvényes adathossz (VDL) a stream foglalási méretéből inicializált bájtok száma.
Minden stream saját állapotot is fenntart a tömörítéshez, a titkosításhoz és a ritkasághoz. A fájl FILE_ATTRIBUTE_SPARSE_FILE attribútuma a FindFirstFile, a FindFirstFileEx és a FindNextFile függvényből visszaadott WIN32_FIND_DATA struktúra dwFileAttributes tagjában van beállítva, ha a streamek bármelyike ritkább volt. GetFileAttributes, GetFileAttributesEx, GetFileAttributesTransacted, GetFileInformationByHandle és GetFileInformationByHandleEx visszaadja az alapértelmezett adatfolyam ritka állapotát, ha nincs megadva stream.
A streamhez nincsenek fájlidők társítva. A fájlokhoz tartozó fájlidők akkor frissülnek, amikor a fájl bármely adatfolyama frissül.
Az opportunista zárolások streamenként vannak fenntartva. A megosztási módok streamenként is megmaradnak. Ha törlési hozzáférést kér egy fájlhoz, az operációs rendszer ellenőrzi a törlési hozzáférést a fájl összes megnyitott adatfolyamán. Ha egy másik folyamat FILE_SHARE_DELETE engedély nélkül nyitott meg egy streamet, akkor nem nyitható meg a fájl törlési hozzáféréshez.
Ha egy másolt fájl adatfolyammal rendelkezik, és a hálózati átirányítást használja, a fájl csak akkor másolható, ha az ügyfél rendelkezik olvasási és olvasási attribútumokkal.
Elnevezési konvenciók streamekhez
Ha a Windows rendszerhéj parancssorából van megadva, a stream teljes neve "fájlnév:stream neve:stream típusa", ahogyan az alábbi példában is látható: "myfile.dat:stream1:$DATA".
A fájlnévre vonatkozó bármely karakter a stream nevére is érvényes, beleértve a szóközöket is. További információ: Fájl elnevezése. A stream típusa (más néven attribútumtípuskód) az NTFS fájlrendszer belső része. A felhasználók ezért nem hozhatnak létre új streamtípusokat, de megnyithatják a meglévő NTFS fájlrendszertípusokat. A streamtípus-meghatározó értékek mindig a dollárjel ($) szimbólummal kezdődnek. A streamtípusok listáját alább találja.
Alapértelmezés szerint az alapértelmezett adatfolyam nincs megnevezve. Az alapértelmezett adatfolyam teljes megadásához használja a "fájlnév::$DATA" lehetőséget, ahol $DATA a stream típusa. Ez a "fájlnév" megfelelője. A fájlban névvel ellátott streamet a fájlelnevezési konvenciókhasználatával hozhat létre. Vegye figyelembe, hogy a "$DATA" egy jogi streamnév. A "minta" nevű fájl "$DATA" nevű streamjének teljes neve például "minta:$DATA:$DATA". Ha egy "bar" nevű streamet hozott létre ugyanazon a fájlon, a teljes neve "minta:bar:$DATA".
Ha egykaraktevel ellátott fájlokat hoz létre és használ, a fájlnevet ponttal, majd fordított perjellel (.) kell előtaggal előtaggal kiegészíteni, vagy használjon teljes elérési utat. Ennek az az oka, hogy a Windows meghajtóbetűjelként kezeli az egy karakterből álló fájlneveket. Ha egy meghajtóbetűjel relatív elérési úttal van megadva, a kettőspont választja el a meghajtóbetűjelet az elérési úttól. Ha kétértelmű, hogy egy egy karakterből áll-e meghajtóbetűjel vagy fájlnév, a Windows azt feltételezi, hogy meghajtóbetűjel, ha a kettőspontot követő sztring érvényes elérési út, még akkor is, ha a meghajtóbetűjel érvénytelen.
Streamtípusok
Az alábbiakban felsoroljuk az NTFS-adatfolyamok típusait, más néven attribútumtípus-kódokat. Egyes streamtípusok belsőek az NTFS-hez, és formátumuk visszavonásra kerül.
| Stream típusa | Leírás |
|---|---|
| ::$ATTRIBUTE_LIST | A fájlt alkotó összes attribútum listáját tartalmazza, és azonosítja az egyes attribútumok helyét. |
| ::$BITMAP | Az indexek által használt bitkép egy könyvtár b-fa szabad területének kezelésére. A b-fa kezelése 4 KB-os adattömbökben történik (a fürt méretétől függetlenül), és ez az adattömbök lefoglalásának kezelésére szolgál. Ez a streamtípus minden könyvtárban megtalálható. |
| ::$DATA | Adatfolyam. Az alapértelmezett adatfolyamnak nincs neve. Az adatfolyamok a FindFirstStreamW és a FindNextStreamW függvény használatával számba vehetők. |
| ::$EA | Bővített attribútumadatokat tartalmaz. |
| ::$EA_INFORMATION | A kiterjesztett attribútumokkal kapcsolatos támogatási információkat tartalmaz. |
| ::$FILE_NAME | A fájl neve Unicode-karakterekben. Ez magában foglalja a fájl rövid nevét, valamint a kemény hivatkozásokat. |
| ::$INDEX_ALLOCATION | A könyvtár streamtípusa. A nagy könyvtárak fájlnév-lefoglalásának megvalósításához használatos. Ez a stream magát a könyvtárat jelöli, és a címtár összes adatát tartalmazza. Az ilyen típusú streamek módosításait a rendszer az NTFS változásnaplóba naplózza. A $INDEX_ALLOCATION streamtípus alapértelmezett streamneve $I 30, így a "DirName", "DirName::$INDEX_ALLOCATION" és "DirName:$I 30:$INDEX_ALLOCATION" egyenértékű. |
| ::$INDEX_ROOT | Ez a stream egy index b fájának gyökerét jelöli. Ez a streamtípus minden könyvtárban megtalálható. |
| ::$LOGGED_UTILITY_STREAM | Hasonló a következőhöz: ::$DATA, de a rendszer naplózza a műveleteket az NTFS-módosítási naplóba. EFS és tranzakciós NTFS (TxF)használja. Az ":StreamName:$StreamType" pár az EFS-hez :$EFS:$LOGGED_UTILITY_STREAM" és a TxF esetében a következő: "$TXF_DATA:$LOGGED_UTILITY_STREAM". |
| ::$OBJECT_ID | A hivatkozáskövetési szolgáltatás fájljának azonosítására szolgáló 16 bájtos azonosító. |
| ::$REPARSE_POINT | A újraelemzési pont adatokat. |