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.
BypassIO Hakkında
BypassIO, dosyalardan okumak için iyileştirilmiş bir G/Ç yoludur. Bu yolun amacı, Windows'ta yeni nesil oyunları yükleme ve çalıştırma G/Ç taleplerini karşılamaya yardımcı olan okuma işleminin CPU ek yükünü azaltmaktır. BypassIO, Windows'ta DirectStorage'ı destekleyen altyapının bir parçasıdır ve Windows 11'den itibaren kullanılabilir.
Depolama sürücülerinin BypassIO için destek uygulaması ve BypassIO'yu mümkün olduğunca etkin tutmanız önemlidir. Depolama yığını desteği olmadan, oyun performansı düşer ve son kullanıcılar için kötü bir oyun deneyimine neden olur.
Gelecek Windows sürümlerinde oyun oynamanın ötesinde daha geniş uygulama kullanımları olacak.
IOCTL_STORAGE_MANAGE_BYPASS_IO ve eşdeğer bir FSCTL_MANAGE_BYPASS_IO bu altyapının bir parçası olarak eklendi. IOCTL_STORAGE_MANAGE_BYPASS_IO , dosya sistemleri tarafından birim/depolama yığınlarına gönderilirken mini filtreler FSCTL_MANAGE_BYPASS_IO işler. Bu denetim kodları tanınabilir olacak şekilde tasarlanmıştır: her ikisi de BypassIO isteğini başarısız olan sürücünün kimliğini ve bunu veto etme nedenini döndürür.
Filtre sürücülerinde BypassIO'ya bakın, dosya sistemi filtresi ve depolama yığınları genelinde BypassIO sistem mimarisi ayrıntıları için.
BypassIO desteğinin kapsamı
Windows 11'den itibaren BypassIO aşağıdaki gibi desteklenir:
Yalnızca Windows istemci sistemlerinde. Sunucu sistemi desteği gelecek bir sürümde eklenecektir.
Yalnızca NVMe depolama cihazlarında. Gelecekteki bir sürümde diğer depolama teknolojileri için destek eklenecektir.
Yalnızca NTFS dosya sisteminde. Diğer dosya sistemleri için destek gelecek bir sürümde eklenecektir.
Yalnızca önbelleğe alınmamış okumalar desteklenir. Önbelleğe alınmamış yazma desteği gelecek bir sürümde eklenecektir.
Yalnızca dosyalarda desteklenir (dizin veya birim tanıtıcılarında desteklenmez).
BypassIO için DDI değişiklikleri ve eklemeleri
BypassIO desteği sağlamak için depolama sürücüleriyle ilgili aşağıdaki DDI'ler eklendi:
- IOCTL_STORAGE_MANAGE_BYPASS_IO (yalnızca dosya sistemi tarafından oluşturulur)
- BPIO_INPUT
- BPIO_OUTPUT
- BPIO_OPERATIONS
- BPIO_INFLAGS numaralandırıcı
- BPIO_OUTFLAGS numaralandırıcı
- BPIO_RESULTS yapısı
BypassIO'yu desteklemek için depolama yığını sürücülerinin yapması gerekenler
Windows 11'den başlayarak, depolama sürücüsü geliştiricilerinin StorageSupportedFeatures altyapısını BypassIO için STORAGE_SUPPORTED_FEATURES_BYPASS_IO eklemek için sürücülerinin INF veya MANIFEST dosyalarını aşağıdaki gibi güncelleştirmeleri gerekir:
- Hizmet tanımınızın altında "Parametreler" anahtarı tanımlama
- "StorageSupportedFeatures" adlı bir DWORD değeri ekleyin ve BypassIO desteğini göstermek için bu değeri 0x1 olarak ayarlayın.
Bu kayıt defteri anahtarı sisteme sürücünün G/Ç'yi atlamayı anladığını gösterir. Sürücünün, hangi mantıksal birimin (disk) G/Ç'yi atlamayı desteklediğini belirtmek için, StorPortSetUnitAttributes çağrısında BypassIOSupported değerini 1 olarak ayarlaması gerekir.
Sürücü daha sonra gerektiğinde IOCTL_STORAGE_MANAGE_BYPASS_IO işler. Uygulamayı kabul etmemiş bir depolama yığını sürücüsü varsa FS_BPIO_OP_QUERY işlemi başarısız olur.
Uyarı
BypassIO'yu hiçbir zaman destekleyemeyecek bir sürücü yine de StorageSupportedFeatures durumunu INF'ye eklemeli ve ardından nedenini belirterek sürücünün içine uygun şekilde veto etmelidir.
Bir depolama sürücüsü INF veya MANIFEST dosyasını BypassIO desteğini gösterecek şekilde güncelleştirmezse, bu birim veya depolama sürücüsündeki tüm BypassIO işlemleri hemen engellenir. Sistem geleneksel G/Ç yoluna geri döner ve bu da oyun performansının düşmesine neden olur.
IOCTL_STORAGE_MANAGE_BYPASS_IO uygulama ayrıntıları
Dosya sistemi (şu anda NTFS), gerektiğinde oluşturulan FSCTL_MANAGE_BYPASS_IO yanıt olarak bir IOCTL_STORAGE_MANAGE_BYPASS_IO denetim kodu oluşturur.
IOCTL_STORAGE_MANAGE_BYPASS_IO girişi, FSCTL_MANAGE_BYPASS_IO karşılık gelenine benzer, ancak yalnızca BypassIO'yu etkinleştirmeyi, devre dışı bırakmayı ve sorgulamayı destekler.
IOCTL_STORAGE_MANAGE_BYPASS_IO çıktısı, FSCTL_MANAGE_BYPASS_IO karşılık gelenine benzer, başarısız olan sürücünün adını ve nedenini ve sürücünün BypassIO'yu neden veto ettiğiyle ilgili işlem durumunu tanımlar. Dosya sistemi, birim ve depolama yığınlarından gelen IOCTL_STORAGE_MANAGE_BYPASS_IO çıkışını FSCTL_MANAGE_BYPASS_IO'ya kadar iletir.