OpenFileMappingFromApp 函式 (memoryapi.h)

開啟具名檔案對應物件。

語法

HANDLE OpenFileMappingFromApp(
  [in] ULONG  DesiredAccess,
  [in] BOOL   InheritHandle,
  [in] PCWSTR Name
);

參數

[in] DesiredAccess

檔案對應物件的存取權。 此存取權會針對目標檔案對應物件上的任何安全性描述元進行檢查。 如需值清單,請參閱 檔案對應安全性和存取權限。 如果您的應用程式具有codeGeneration功能,您只能開啟檔案對應物件,以FILE_MAP_EXECUTE存取。

[in] InheritHandle

如果此參數為 TRUECreateProcess 函式所建立的進程可以繼承控制碼;否則,無法繼承控制碼。

[in] Name

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

傳回值

如果函式成功,則傳回值是指定檔案對應物件的開啟控制碼。

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

備註

您可以從 Windows 市集應用程式使用 Just-In-Time (JIT) 功能呼叫 OpenFileMappingFromApp ,以使用 JIT 功能。 應用程式必須在應用程式資訊清單檔案中包含 codeGeneration 功能,才能使用 JIT 功能。 OpenFileMappingFromApp可讓 Windows 市集應用程式在 .NET Framework中使用MemoryMappedFile類別。

OpenFileMappingFromApp傳回的控制碼可以與需要檔案對應物件的控制碼的任何函式搭配使用。

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

不再需要時,呼叫端應該呼叫 釋放 OpenFileMappingFromApp 所傳回的控制碼,並呼叫 CloseHandle

需求

   
最低支援的用戶端 Windows 10 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2016 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 memoryapi.h (包括 Windows.h)
程式庫 WindowsApp.lib
DLL Kernel32.dll

另請參閱

CreateFileMapping

檔案對應函式

記憶體管理函式

OpenFileMapping

共用檔案和記憶體