Dosya Eşleme Nesnesini Kapatma
Bir işlem dosya eşleme nesnesiyle tamamlandığında, her dosya görünümü için unmapViewOfFile işlevini kullanarak adres alanında tüm dosya görünümlerini yok etmelidir.
Bir dosyanın eşlenmiş görünümünün eşlenmesinin kaldırılması, işlemin adres alanında görünümün kapladığı aralığı geçersiz kılar ve bu aralığı diğer ayırmalar için kullanılabilir hale getirir. İşlemin çalışma kümesinin parçası olan eşlenmemiş her sanal sayfa için çalışma kümesi girdisini kaldırır ve işlemin çalışma kümesi boyutunu küçültür. Ayrıca ilgili fiziksel sayfanın paylaşım sayısını da azaltır.
Hiçbir haritalama yapılmayan görünümde değiştirilen sayfalar, paylaşım sayısı sıfıra düşene kadar veya başka bir deyişle, sayfaları paylaşan tüm süreçlerin çalışma kümelerinden kaldırılana veya kırpılana kadar diske yazılmaz. Bu durumda bile, değiştirilen sayfalar diske "tembelce" yazılır; yani, değişiklikler bellekte önbelleğe alınabilir ve daha sonra diske yazılabilir. Güç kesintisi veya sistem kilitlenmesi durumunda veri kaybı riskini en aza indirmek için uygulamalar, FlushViewOfFile işlevini kullanarak değiştirilmiş sayfaları açıkça boşaltmalıdır.
Her işlem dosya eşleme nesnesini kullanmayı bitirdiğinde ve tüm görünümler eşlenmemişse, dosya eşleme nesnesinin tutamacını ve disk üzerindeki dosyayı kapatmak için CloseHandleçağırması gerekir. CloseHandle'a yapılan bu çağrılar, hala açık olan dosya görünümleri olduğunda bile başarılı olur. Ancak, dosya görünümlerini eşlenmiş olarak bırakmak bellek sızıntılarına neden olur.