C++涓瑿reateFileMapping鎬庝箞浣跨敤
鍦–++涓紝鍙互浣跨敤CreateFileMapping鍑芥暟鏉ュ垱寤轰竴涓枃浠舵槧灏勫璞°€傝鍑芥暟鐨勫師鍨嬪涓嬶細
HANDLE CreateFileMapping(
HANDLE hFile,
LPSECURITY_ATTRIBUTES lpAttributes,
DWORD flProtect,
DWORD dwMaximumSizeHigh,
DWORD dwMaximumSizeLow,
LPCTSTR lpName
);
鍙傛暟瑙i噴濡備笅锛?/p>
-
hFile锛氳鏄犲皠鍒版枃浠剁殑鍙ユ焺銆?/p>
-
lpAttributes锛氭寚瀹氭枃浠舵槧灏勫璞$殑瀹夊叏灞炴€э紝榛樿涓篘ULL銆?/p>
-
flProtect锛氭寚瀹氭枃浠舵槧灏勫璞$殑淇濇姢妯″紡锛屽彲浠ユ槸浠ヤ笅鍑犵鍙栧€间箣涓€锛?/p>
-
PAGE_READONLY锛氬彧璇绘ā寮忋€?/p>
-
PAGE_READWRITE锛氬彲璇诲啓妯″紡銆?/p>
-
PAGE_WRITECOPY锛氬啓鏃跺鍒舵ā寮忋€?/p>
-
dwMaximumSizeHigh锛氭枃浠舵槧灏勫璞$殑鏈€澶уぇ灏忥紙楂?2浣嶏級锛屽鏋滄枃浠跺ぇ灏忎负0锛屽垯浣跨敤姝ゅ弬鏁般€?/p>
-
dwMaximumSizeLow锛氭枃浠舵槧灏勫璞$殑鏈€澶уぇ灏忥紙浣?2浣嶏級锛屽鏋滄枃浠跺ぇ灏忎负0锛屽垯浣跨敤姝ゅ弬鏁般€?/p>
-
lpName锛氭寚瀹氭枃浠舵槧灏勫璞$殑鍚嶇О锛屽彲浠ユ槸NULL銆?/p>
涓嬮潰鏄竴涓娇鐢–reateFileMapping鍑芥暟鍒涘缓鏂囦欢鏄犲皠瀵硅薄鐨勭ず渚嬩唬鐮侊細
#include <Windows.h>
int main()
{
// 鎵撳紑鏂囦欢
HANDLE hFile = CreateFile(
L"test.txt",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
// 鍒涘缓鏂囦欢鏄犲皠瀵硅薄
HANDLE hMapping = CreateFileMapping(
hFile,
NULL,
PAGE_READONLY,
0,
0,
NULL
);
// 鍏抽棴鏂囦欢鍜屾枃浠舵槧灏勫璞$殑鍙ユ焺
CloseHandle(hFile);
CloseHandle(hMapping);
return 0;
}
鍦ㄨ繖涓ず渚嬩腑锛岄鍏堜娇鐢–reateFile鎵撳紑涓€涓悕涓?quot;test.txt"鐨勬枃浠讹紝骞惰幏寰楁枃浠跺彞鏌刪File銆傜劧鍚庝娇鐢–reateFileMapping鍑芥暟鍒涘缓涓€涓枃浠舵槧灏勫璞Mapping锛屾寚瀹氫繚鎶ゆā寮忎负PAGE_READONLY銆傛渶鍚庝娇鐢–loseHandle鍑芥暟鍏抽棴鏂囦欢鍜屾枃浠舵槧灏勫璞$殑鍙ユ焺銆?/p>