Dosya Öznitelik Sabitleri

Dosya özniteliği sabitleri, diskte dosya sistemi tarafından depolanan meta veri değerlerini tanımlar ve sistem tarafından kullanılır ve çeşitli dosya G/Ç API'leri aracılığıyla geliştiriciler tarafından kullanılabilir. Bu sabitler geliştiricilerin salt okunur, gizli veya sıkıştırılmış öznitelikler gibi dosya özelliklerini denetlemesine ve ayarlamasına olanak sağlar. İlgili API'lerin ve konuların listesi için Ayrıca bkz . bölümüne bakın.

Example

FILE_BASIC_INFO basicInfo;
    BOOL result;

    result = GetFileInformationByHandleEx( hFile,
                                               FileBasicInfo,
                                               &basicInfo,
                                               sizeof(basicInfo));

\\...

printf("  File Attributes: ");
    PrintFileAttributes(basicInfo.FileAttributes);

\\...
VOID
PrintFileAttributes(
    ULONG FileAttributes
    )
{
    
    if (FileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
        printf("Archive ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
        printf("Directory ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
        printf("Read-Only ");
    }
}

GitHub'da windows klasik örneğinden alınan örnek.

Sabit/değer Description
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
Salt okunur bir dosya. Uygulamalar dosyayı okuyabilir, ancak dosyaya yazamaz veya silemez. Bu öznitelik dizinlerde dikkate alınmaz.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
Dosya veya dizin gizlidir. Sıradan bir dizin listesine dahil değildir.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
İşletim sisteminin bir kısmını kullandığı veya yalnızca kullandığı bir dosya veya dizin.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Bir dizini tanımlayan tanıtıcı.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Arşiv dosyası veya dizin olan bir dosya veya dizin. Uygulamalar genellikle dosyaları yedekleme veya kaldırma amacıyla işaretlemek için bu özniteliği kullanır.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Bu değer sistem kullanımı için ayrılmıştır.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
Başka öznitelikleri ayarlı olmayan bir dosya. Bu öznitelik yalnızca tek başına kullanıldığında geçerlidir.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
Geçici depolama için kullanılan bir dosya. Dosya sistemleri, yeterli önbellek belleği varsa verileri yığın depolamaya geri yazmaktan kaçınır, çünkü genellikle tanıtıcı kapatıldıktan sonra bir uygulama geçici bir dosyayı siler. Bu senaryoda sistem, verilerin yazılmasını tamamen önleyebilir. Aksi takdirde, tanıtıcı kapatıldıktan sonra veriler yazılır.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
Seyrek dosya olan bir dosya.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
İlişkili yeniden ayrıştırma noktasına sahip bir dosya veya dizin ya da sembolik bağlantı olan bir dosya.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
Sıkıştırılmış bir dosya veya dizin. Bir dosya için, dosyadaki tüm veriler sıkıştırılır. Dizin için sıkıştırma, yeni oluşturulan dosyalar ve alt dizinler için varsayılan değerdir.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Bir dosyanın verileri hemen kullanılamaz. Bu öznitelik, dosya verilerinin çevrimdışı depolama alanına fiziksel olarak taşındığını gösterir. Bu öznitelik, hiyerarşik depolama yönetimi yazılımı olan Uzak Depolama tarafından kullanılır. Uygulamalar bu özniteliği rastgele değiştirmemelidir.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
Dosya veya dizin, içerik dizin oluşturma hizmeti tarafından dizine alınmayacak.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
Şifrelenmiş bir dosya veya dizin. Bir dosya için, dosyadaki tüm veri akışları şifrelenir. Bir dizin için şifreleme, yeni oluşturulan dosyalar ve alt dizinler için varsayılan değerdir.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
Dizin veya kullanıcı veri akışı bütünlükle yapılandırılır (yalnızca ReFS birimlerinde desteklenir). Sıradan bir dizin listesine dahil değildir. Bütünlük ayarı, yeniden adlandırıldıysa dosyada kalır. Bir dosya kopyalanırsa, kaynak dosya veya hedef dizinde bütünlük ayarlanmışsa hedef dosyanın bütünlüğü ayarlanmış olur.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 ve Windows XP: Bu bayrak Windows Server 2012'ye kadar desteklenmez.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Bu değer sistem kullanımı için ayrılmıştır.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
Kullanıcı veri akışı, arka plan veri bütünlüğü tarayıcısı (diğer adıyla temizleyici) tarafından okunmayacak. Bir dizinde ayarlandığında yalnızca devralma sağlar. Bu bayrak yalnızca Depolama Alanları ve ReFS birimlerinde desteklenir. Sıradan bir dizin listesine dahil değildir.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 ve Windows XP: Bu bayrak, Windows 8 ve Windows Server 2012'ye kadar desteklenmez.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Genişletilmiş öznitelikleri olan bir dosya veya dizin.

ÖNEMLİ: Bu sabit yalnızca iç kullanım içindir.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Bu öznitelik, etkin olarak erişilmediğinde bile dosya veya dizinin yerel olarak tam olarak mevcut tutulması gerektiğini kullanıcı amacını gösterir. Bu öznitelik, hiyerarşik depolama yönetimi yazılımıyla kullanım içindir.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Bu öznitelik, dosya veya dizinin etkin olarak erişilmemesi dışında yerel olarak tam olarak mevcut tutulmaması gerektiğini gösterir. Bu öznitelik, hiyerarşik depolama yönetimi yazılımıyla kullanım içindir.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Bu öznitelik yalnızca dizin numaralandırma sınıflarında (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION vb.) görünür. Bu öznitelik ayarlandığında, dosya veya dizinin yerel sistemde fiziksel gösterimi olmadığı anlamına gelir; öğe sanaldır. Öğeyi açmak normalden daha pahalı olur; örneğin, en azından bir kısmının uzak bir mağazadan alınmasına neden olur.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Bu öznitelik ayarlandığında, dosya veya dizinin yerel olarak tam olarak mevcut olmadığı anlamına gelir. Tüm verilerinin yerel depolama alanında olmadığı anlamına gelen bir dosya için (örneğin, bazı veriler hala uzak depolamada olduğunda seyrek olabilir). Bir dizin için, dizin içeriklerinden bazılarının başka bir konumdan sanallaştırıldığı anlamına gelir. Dosyayı okumak / dizini numaralandırmak normalden daha pahalı olacaktır; örneğin, dosya/dizin içeriğinin en az bir kısmının uzak bir depodan alınmasına neden olur. Bu biti yalnızca çekirdek modu arayanları ayarlayabilir.

180000 – 189999 rakım aralığının (FSFilter HSM Yük Sırası Grubu) altındaki dosya sistemi mini filtreleri, bu öznitelik kümesine sahip dosyalara hedeflenen önbelleğe alınmış okuma veya yazma işlemleri vermemelidir. Bu, önbellek kirliliğine ve olası dosya bozulmasına yol açabilir. Daha fazla bilgi için bkz . Yer tutucuları işleme.

Gereksinimler

Gereksinim Değer
Desteklenen en düşük düzeydeki istemci Windows XP [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu Windows Server 2003 [yalnızca masaüstü uygulamaları]
Header WinNT.h (Windows.h dahil)

Ayrıca bakınız

Sıkıştırma Özniteliği

Dosya Oluşturma ve Açma

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle

Windows'da Dosya Gezgini