MapViewOfFile2 函式 (memoryapi.h)
將檔案或分頁檔支援的區段檢視對應至指定進程的位址空間。
語法
PVOID MapViewOfFile2(
[in] HANDLE FileMappingHandle,
[in] HANDLE ProcessHandle,
[in] ULONG64 Offset,
[in, optional] PVOID BaseAddress,
[in] SIZE_T ViewSize,
[in] ULONG AllocationType,
[in] ULONG PageProtection
);
參數
[in] FileMappingHandle
要對應至指定進程的位址空間之區段的 HANDLE 。
[in] ProcessHandle
將對應區段之進程的 HANDLE 。 控制碼必須具有 PROCESS_VM_OPERATION 存取遮罩。
[in] Offset
區段開頭的位移。 這必須對齊 64k。
[in, optional] BaseAddress
檢視所需的基底位址。 位址會四捨五入至最接近的 64k 界限。 如果此參數為 Null,則系統會挑選基底位址。
[in] ViewSize
要對應的位元組數目。 0 (0 的值,) 會指定整個區段要對應。
[in] AllocationType
配置的類型。 此參數可以是零 (0) 或下列其中一個常數值:
- MEM_RESERVE - 對應保留的檢視。
- MEM_LARGE_PAGES - 對應大型頁面檢視。 此旗標指定檢視應該使用 大型頁面支援進行對應。 檢視的大小必須是 GetLargePageMinimum 函式所報告之大型頁面大小的倍數,而且必須使用 [SEC_LARGE_PAGES] 選項建立檔案對應物件。 如果您為 BaseAddress 參數提供非 Null 值,則此值必須是 GetLargePageMinimum的倍數。
[in] PageProtection
所需的頁面保護。
對於使用 SEC_IMAGE 屬性建立的檔案對應物件, PageProtection 參數沒有任何作用,而且應該設定為任何有效的值,例如 PAGE_READONLY。
傳回值
如果成功,則會傳回對應檢視的基底位址。 否則,會使用GetLastError傳回Null和擴充錯誤狀態。
備註
此函式會實作為標頭中的內嵌函式,而且無法在任何匯出程式庫或 DLL 中找到。 它與呼叫 MapViewOfFileNuma2 相同,最後一個參數設定為 NUMA_NO_PREFERRED_NODE
。
需求
最低支援的用戶端 | Windows 10版本 1703 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2016 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | memoryapi.h (包括 Windows.h、Memoryapi.h) |
程式庫 | onecore.lib |
DLL | Kernel32.dll |