Makale numarası: 99794 - Son Gözden Geçirme: 21 Kasım 2006 Salı - Gözden geçirme: 4.2 BILGI: FILE_FLAG_WRITE_THROUGH ve FILE_FLAG_NO_BUFFERING
ÖzetCreateFile() için FILE_FLAG_WRITE_THROUGH bayrak için bir tanıtıcı, arabelleğe olmadan doğrudan dosyasına yazılacak yapılan herhangi bir yazar neden olur. (Disk önbelleğinde depolanan), veri önbellekteyse; ancak, yine de doğrudan dosyasına yazılır. Bu yöntem, bir okuma işlemi (Bu hala varsa), önbelleğe alınmış verileri okuma isteği karşılamak için bu verilerin sağlar, yerine dosya yapmak için verileri almak için okuyun. Verileri bir dosyaya yazılır kadar yazma çağrı döndürmüyor. Bu aynı zamanda uzak yazma için geçerlidir; böylece verileri bir dosyaya yazılır kadar yazma isteğini karşılamak için sunucu bilir ağ yeniden yönlendiricisi FILE_FLAG_WRITE_THROUGH bayrağı sunucuya geçirir. FILE_FLAG_NO_BUFFERING bu kavramı bir adım daha alır ve böylece tüm okuma için dosya ve olmayan herhangi bir sistem arabellek veya disk önbelleğinin garanti altına alınabileceğine tüm önceden okuma dosya ara belleğe alma ve aynı zamanda disk önbelleğe alma ortadan kaldırır. FILE_FLAG_NO_BUFFERING kullanırken, disk okuma ve yazma kesiminin sınırlarının üzerinde yapılmalıdır ve Arabellek adresi, bellek, disk kesimi sınırları hizalı gerekir. Okuma için geçmesi veya API yazma arabelleği için doğrudan ı/o <a0>Aygıt</a0> düzeyinde kullanıldığından bu kısıtlamalar gereklidir; Bu düzey, kendi Arabellek adresi ve kesimi boyutları işlemci ve ortam hizalama kısıtlamalar, çalışan donanım yinelenip yinelenmeyeceği. Daha fazla bilgiWindows 95 CDFS (CD-ROM'u dosya sistemi) için CreateFile() FILE_FLAG_NO_BUFFERING bayrağını desteklemiyor. VFAT, örneğin, bir Windows 95 FSD uygulayabilir, gerekli bir dosya sistemi sürücülerinin bayrağı FILE_FLAG_NO_BUFFERING değil ve CDFS tarafından desteklenmiyor. Bu kod parçası arabellekte veri kesimi olarak hizalamak için CreateFile() bu yönteme nasıl gösterir: Geçerli mantıksal sürücüdeki tüm açık dosyaları temizlemesini istediğiniz bir durum varsa, bu yapılabilir: Ağ üzerinden uzak bir dosyayı açarken sunucu, her zaman önbelleğe alır ve istemci tarafından belirtilen hiçbir arabellek bayrak yok sayar. Bu, tasarım gereğidir. Yeniden yönlendirici ve sunucu düzgün FILE_FLAG_NO_BUFFERING, ağ üzerinden tam semantiği uygulayamıyor. Özellikle, kesim boyutlu, kesimi hizalı bir g/Ç için gereksinimin karşılanması edemiyor. Win32-tabanlı uygulama için FILE_FLAG_NO_BUFFERING sorduğunda, bu nedenle, yeniden yönlendirici ve sunucu bu isteği FILE_FLAG_WRITE_THROUGH için işle. Dosya istemcide önbelleğe yazma sunucuya doğrudan diske sunucuya gidin ve ve ağ üzerinde okuma/yazma boyutlarını tam olarak olan uygulama için sorar. Ancak, dosya, sunucuda önbelleğe alınır. Istemci önbelleğe alma, g/Ç türüne bağlı olarak farklı bir etkisi olabilir. Önbellek isabet elemek veya önceden okuma, ancak boyutunu da azaltabilirsiniz aktarır ve alır. Genel olarak, sıralı g/Ç için önbellek için istemcideki uyarılmalıdır. En küçük, rasgele erişim için g/Ç, genellikle iyisidir önbelleğine değil. Bu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:99794
(http://support.microsoft.com/kb/99794/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukMakale çevirileri
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Üste