共用方式為


關閉檔案對應對象

當程序完成檔案對應物件後,應該使用 UnmapViewOfFile 函式,銷毀其地址空間中每個檔案檢視的所有檔案檢視。

取消對檔案對應檢視的映射會使流程位址空間中檢視所佔用的範圍失效,並讓該範圍可供其他配置使用。 它將移除屬於進程工作集內每個未對應虛擬頁面的工作集專案,並減少進程的工作集大小。 它也會遞減對應實體頁面的共享計數。

未映射視圖中的已修改頁面,在其共享計數為零之前不會寫入磁碟,也就是說,直到該頁面從所有共用進程的工作集取消映射或被修剪為止。 即便如此,修改過的頁面會「懶洋洋地」寫入磁碟,也就是說,修改可能會先快取在記憶體中,稍後再寫入磁碟。 若要將發生電源故障或系統當機時數據遺失的風險降到最低,應用程式應該使用 flushViewOfFile函式明確排清修改的頁面。

當每個進程都使用檔案對應物件完成且所有檢視都未對應時,它必須呼叫 closeHandle closeHandle關閉檔案對應物件的句柄和磁碟上的檔案。 即使檔案檢視仍在開啟,這些呼叫 CloseHandle 仍會成功。 不過,保留對應的檔案檢視會導致記憶體流失。