Menutup Objek Pemetaan File

Ketika proses telah selesai dengan objek pemetaan file, itu harus menghancurkan semua tampilan file di ruang alamatnya dengan menggunakan fungsi UnmapViewOfFile untuk setiap tampilan file.

Membatalkan pemetaan tampilan file yang dipetakan membatalkan rentang yang ditempati oleh tampilan di ruang alamat proses dan membuat rentang tersedia untuk alokasi lain. Ini menghapus entri set kerja untuk setiap halaman virtual yang tidak dipetakan yang merupakan bagian dari set proses yang berfungsi dan mengurangi ukuran set kerja proses. Ini juga mengurangi jumlah berbagi halaman fisik yang sesuai.

Halaman yang dimodifikasi dalam tampilan yang tidak dipetakan tidak ditulis ke disk sampai jumlah berbaginya mencapai nol, atau dengan kata lain, sampai tidak dipetakan atau dipangkas dari set kerja dari semua proses yang berbagi halaman. Bahkan kemudian, halaman yang dimodifikasi ditulis "malas" ke disk; artinya, modifikasi dapat di-cache dalam memori dan ditulis ke disk di lain waktu. Untuk meminimalkan risiko kehilangan data jika terjadi kegagalan daya atau crash sistem, aplikasi harus secara eksplisit menghapus halaman yang dimodifikasi menggunakan fungsi FlushViewOfFile .

Ketika setiap proses selesai menggunakan objek pemetaan file dan telah membatalkan semua tampilan, itu harus menutup handel objek pemetaan file dan file pada disk dengan memanggil CloseHandle. Panggilan ke CloseHandle ini berhasil bahkan ketika ada tampilan file yang masih terbuka. Namun, membiarkan tampilan file dipetakan menyebabkan kebocoran memori.