共用方式為


OpenFileMappingA 函式 (winbase.h)

開啟具名檔案對應物件。

語法

HANDLE OpenFileMappingA(
  [in] DWORD  dwDesiredAccess,
  [in] BOOL   bInheritHandle,
  [in] LPCSTR lpName
);

參數

[in] dwDesiredAccess

檔案對應物件的存取權。 此存取權會針對目標檔案對應物件上的任何安全性描述元進行檢查。 如需值清單,請參閱 檔案對應安全性和訪問許可權

[in] bInheritHandle

如果此參數為 TRUE,CreateProcess 函式所建立的進程可以繼承句柄;否則,無法繼承句柄。

[in] lpName

要開啟的檔案對應物件名稱。 如果依這個名稱開啟檔案對應物件的句柄,且對應物件上的安全性描述元與 dwDesiredAccess 參數沒有衝突,則開啟的作業會成功。 名稱可以有 「Global\」 或 「Local\」 前置詞,以在全域或會話命名空間中明確開啟物件。 名稱的其餘部分可以包含任何字元,但反斜杠字元 (\) 除外。 如需詳細資訊,請參閱 核心物件命名空間。 使用終端機服務會話實作快速使用者切換。 第一個登入的使用者會使用會話 0、下一個登入的使用者會使用會話 1 等等。 核心物件名稱必須遵循終端機服務概述的指導方針,讓應用程式可以支援多個使用者。

傳回值

如果函式成功,則傳回值是指定檔案對應對象的開啟句柄。

如果函式失敗,則傳回值為 NULL。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

OpenFileMapping 傳回的句柄可以與需要檔案對應物件的句柄的任何函式搭配使用。

透過對應檢視修改檔案時,可能不會自動更新上次修改時間戳。 如有需要,呼叫端應該使用 SetFileTime 來設定時間戳。

不再需要時,呼叫端應該呼叫 OpenFileMapping 所傳回的句柄,並呼叫 CloseHandle

在 Windows Server 2012 中,下列技術支援此函式。

技術 支援
伺服器消息塊 (SMB) 3.0 通訊協定 Yes
SMB 3.0 透明故障轉移 (TFO) Yes
具有向外延展檔案共用的SMB 3.0 (SO) Yes
叢集共用磁碟區文件系統 (CsvFS) Yes
彈性檔案系統 (ReFS)
 

範例

如需範例,請參閱 建立具名共享記憶體

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包括 Windows.h、Memoryapi.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CreateFileMapping

檔案對應函式

記憶體管理函式

共用檔案和記憶體