Aracılığıyla paylaş


Dosya Görünümü Oluşturma

Bir dosyadaki verileri işlemin sanal belleğine eşlemek için dosyanın bir görünümünü oluşturmanız gerekir. MapViewOfFile ve MapViewOfFileEx işlevleri, CreateFileMapping tarafından döndürülen dosya eşleme nesne tutamacını kullanarak işlemin sanal adres alanında dosyanın bir görünümünü veya bir bölümünü oluşturur. Dosya eşleme nesnesini oluşturma CreateFileMapping erişim bayrakları belirtilenlerle çakışırsa bu işlevler başarısız olur.

MapViewOfFile işlevi, dosya görünümüne bir işaretçi döndürür. Bir pointer'ı MapViewOfFileiçinde belirtilen adres aralığında çözüp, bir uygulama dosyadan veri okuyabilir ve dosyaya veri yazabilir. Dosya görünümüne yazma işlemi, dosya eşleme nesnesinde değişikliklere neden olur. Disk üzerindeki dosyaya gerçek yazma işlemi sistem tarafından işlenir. Dosya eşleme nesnesinin yazıldığı sırada veriler aslında aktarılmaz. Bunun yerine, genel sistem performansını geliştirmek için dosya girişi ve çıkışının (G/Ç) çoğu önbelleğe alınır. Uygulamalar, sistemi hemen disk işlemleri yapmaya zorlamak için FlushViewOfFile işlevini çağırarak bu davranışı geçersiz kılabilir.

MapViewOfFileEx işlevi, bir işlemin lpvBase parametresindeki işlemin sanal adres alanında dosyanın görünümünün temel adresini belirtmesine izin vermesi dışında MapViewOfFile işlevi gibi çalışır. Belirtilen adreste yeterli alan yoksa, çağrı başarısız olur. Bu nedenle, bir dosyayı birden çok işlemde aynı adrese eşlemeniz gerekiyorsa, işlemler uygun bir adres belirlemelidir: lpvBase parametresi, sistem bellek ayırma ayrıntı düzeyinin tam sayı katı olmalıdır veya çağrı başarısız olur. Sistemin bellek ayırma ayrıntı düzeyini elde etmek için, SYSTEM_INFO yapısının üyelerini dolduran GetSystemInfo işlevini kullanın.

Bir uygulama, aynı dosya eşleme nesnesinden birden çok dosya görünümü oluşturabilir. Dosya görünümü, türetildiği dosya eşleme nesnesinden farklı bir boyuta sahip olabilir, ancak dosya eşleme nesnesinden daha küçük olmalıdır. MapViewOfFiledwOffsetHigh ve dwOffsetLow parametreleri tarafından belirtilen uzaklık, sistemin ayırma ayrıntı düzeyinin bir katı olmalıdır.

Dosya İçinde Görünüm Oluşturma