-
MapViewOfFile
鎖定
- 中文名
- MapViewOfFile
- 來 源
- win32 API
- 方 式
- 插入語句
- 平 台
- windows
MapViewOfFileVB聲明
Declare Function MapViewOfFile& Lib "kernel32" (ByVal hFileMappingObject As Long, ByVal dwDesiredAccess As Long, ByVal dwFileOffsetHigh As Long, ByVal dwFileOffsetLow As Long, ByVal dwNumberOfBytesToMap As Long)
Declare Function MapViewOfFileEx& Lib "kernel32" (ByVal hFileMappingObject As Long, ByVal dwDesiredAccess As Long, ByVal dwFileOffsetHigh As Long, ByVal dwFileOffsetLow As Long, ByVal dwNumberOfBytesToMap As Long, lpBaseAddress As Any)
MapViewOfFileVC聲明
LPVOID WINAPI MapViewOfFile( __in HANDLE hFileMappingObject, __in DWORD dwDesiredAccess, __in DWORD dwFileOffsetHigh, __in DWORD dwFileOffsetLow, __in SIZE_T dwNumberOfBytesToMap ); LPVOID WINAPI MapViewOfFileEx( __in HANDLE hFileMappingObject, __in DWORD dwDesiredAccess, __in DWORD dwFileOffsetHigh, __in DWORD dwFileOffsetLow, __in SIZE_T dwNumberOfBytesToMap, __in LPVOID lpBaseAddress );
MapViewOfFile説明
將一個文件映射對象映射到當前應用程序的地址空間。MapViewOfFileEx允許我們指定一個基本地址來進行映射。
[1]
MapViewOfFile參數詳解
參數1:hFileMappingObject 為CreateFileMapping()或OpenFileMapping()返回的文件映像對象句柄。
參數2:dwDesiredAccess 映射對象的文件數據的訪問方式,而且同樣要與CreateFileMapping()函數所設置的保護屬性相匹配。 可取以下值:
FILE_MAP_ALL_ACCESS 等價於CreateFileMapping的 FILE_MAP_WRITE|FILE_MAP_READ. 文件映射對象被創建時必須指定PAGE_READWRITE 選項.
FILE_MAP_COPY 可以讀取和寫入文件.寫入操作會導致系統為該頁面創建一份副本.在調用CreateFileMapping時必須傳入PAGE_WRITECOPY保護屬性.
FILE_MAP_EXECUTE 可以將文件中的數據作為代碼來執行.在調用CreateFileMapping時可以傳入PAGE_EXECUTE_READWRITE或PAGE_EXECUTE_READ保護屬性.
FILE_MAP_READ 可以讀取文件.在調用CreateFileMapping時可以傳入PAGE_READONLY或PAGE_READWRITE保護屬性.
FILE_MAP_WRITE 可以讀取和寫入文件.在調用CreateFileMapping時必須傳入PAGE_READWRITE保護屬性.
參數3:dwFileOffsetHigh 表示文件映射起始偏移的高32位.
參數4:dwFileOffsetLow 表示文件映射起始偏移的低32位.(64KB對齊不是必須的)
參數5:dwNumberOfBytes 指定映射文件的字節數.
MapViewOfFile註解
dwFileOffsetLow和dwFileOffsetHigh必須反映一個偏移距離,它由系統的內存分配精度決定。例如,假設系統的內存精度是64KB(即最小分配單位是64KB),則這些值必須是64KB的整數倍。大多數應用程序都簡單的用零從文件的起始處開始映射。lpBaseAddress也必須是內存分配精度的整數倍.
MapViewOfFile返回值
如果失敗,則返回 NULL.可調用GetLastError() 查看錯誤。
- 參考資料
-
- 1. MapViewOfFile function .MSDN
- 2. Windows核心編程(第五版)