MapViewOfFile, MapViewOfFileEx

Lon Lon Lon

MapViewOfFile, MapViewOfFileEx

VB聲明

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)

說明

將一個檔案映射對象映射到當前應用程式的地址空間。MapViewOfFileEx允許我們指定一個基本地址來進行映射

返回值

Long,檔案映射在記憶體中的起始地址。零表示出錯。會設定GetLastError

參數表

參數 類型及說明
hFileMappingObject Long,檔案映射對象的句柄
dwDesiredAccess Long,下述常數之一:
FILE_MAP_WRITE 映射可讀可寫。檔案映射對象必須通過PAGE_READWRITE訪問創建
FILE_MAP_READ 映射唯讀。檔案映射對象必須通過PAGE_READ 或 PAGE_READWRITE訪問創建
FILE_MAP_ALL_ACCESS 與FILE_MAP_WRITE相同
FILE_MAP_COPY 映射時保留寫操作的副本。檔案映射對象必須用PAGE_WRITECOPY訪問在win95下創建
dwFileOffsetHigh Long,檔案中映射起點的高32位地址
dwFileOffsetLow Long,檔案中映射起點的低32位地址
dwNumberOfBytesToMap Long,檔案中要映射的位元組數。用零映射整個檔案映射對象
lpBaseAddress Long,指定映射檔案映射對象的地址。如這個地址處沒有足夠的記憶體空間,那么對MapViewOfFileEx的調用會失效。零表示允許windows尋找一個地址

註解

dwFileOffsetLow和dwFileOffsetHigh必須反映一個偏移距離,它由系統的記憶體分配精度決定。例如,假設系統的記憶體精度是64KB(即最小分配單位是64KB),則這些值必須是64KB的整數倍。大多數應用程式都簡單的用零從檔案的起始處開始映射。lpBaseAddress也必須是記憶體分配精度的整數倍

其他

聲明中的參數類型為Any,而參數表中都是Long,我也不明白。但關於這個函式的英文資料的確是這樣的。

著作權

此詞條來自網際網路,由網友自由創建。著作權屬原作者所有。本站若無意侵犯了你的權利,請來信聯繫我們,我們會及時配合處理。(http://www.clwiki.cn 計算機語言百科全書)

相關詞條

熱門詞條

聯絡我們