共用方式為


檔案映射的安全性和存取權限

Windows 安全性模型可讓您控制檔案對應物件的存取權。 如需詳細資訊,請參閱 訪問控制模型

呼叫 CreateFileMapping 函式時,您可以指定檔案對應物件的安全性描述項 如果您指定 NULL,物件會取得預設的安全性描述元。 檔案映射對象的預設安全性描述元中的 ACL 來自創建者的主令牌或模擬令牌。

若要擷取檔案對應物件的安全性描述元,請呼叫 GetNamedSecurityInfo 或 GetSecurityInfo 函式。 若要設定檔案對應物件的安全性描述元,請呼叫 SetNamedSecurityInfo 或 SetSecurityInfo 函式。

檔案對應物件的有效訪問許可權包括 DELETEREAD_CONTROLWRITE_DACWRITE_OWNER標準訪問許可權。 檔案對應物件不支援 SYNCHRONIZE 標準存取權。 下表列出檔案映射物件特有的存取權限。

存取權 意義
FILE_MAP_ALL_ACCESS 包含檔案對應物件的所有訪問許可權,但FILE_MAP_EXECUTE除外。 MapViewOfFile MapViewOfFileEx 函式會將這個視為指定FILE_MAP_WRITE
FILE_MAP_EXECUTE 允許映射檔案對應物件的可執行檢視。 對象必須使用允許執行存取的頁面保護來建立,例如 PAGE_EXECUTE_READPAGE_EXECUTE_WRITECOPYPAGE_EXECUTE_READWRITE 保護。
FILE_MAP_READ(讀取文件映射) 允許對檔案映射物件進行唯讀或寫入時接寫的檢視映射。
FILE_MAP_WRITE 允許映射檔案映射物件的唯讀、複製寫入或讀/寫視圖。 對象必須使用允許寫入存取的頁面保護來建立,例如 PAGE_READWRITEPAGE_EXECUTE_READWRITE 保護。

對應檔案對應物件的複製寫入檢視需要與對應唯讀檢視相同的存取權。 FILE_MAP_COPY旗標不是訪問許可權,不應在安全性描述元中指定為 DACL 的一部分。 這個值只能搭配用來映射檔案對應物件的檢視函式,例如 MapViewOfFile MapViewOfFileEx 函式使用,或是搭配 OpenFileMapping 函式使用,該函式對待FILE_MAP_COPY 的方式與對待FILE_MAP_READ 的方式相同。

如果您想要讀取或寫入檔案對應物件的 SACL,您可以要求對該物件的 ACCESS_SYSTEM_SECURITY 存取權。 如需詳細資訊,請參閱 訪問控制清單 (ACL)SACL 訪問許可權