要通過CreateFileMapping共享數據,可以按照以下步驟進行操作:
HANDLE hFileMapping = CreateFileMapping(
INVALID_HANDLE_VALUE, // 使用無效的句柄,表示映射到系統頁面文件
NULL, // 默認的安全設置
PAGE_READWRITE, // 可讀寫
0, // 高32位文件大小
dwDataSize, // 低32位文件大小
szMappingName // 映射對象的名稱
);
LPVOID lpData = MapViewOfFile(
hFileMapping, // 文件映射對象的句柄
FILE_MAP_ALL_ACCESS, // 可讀寫
0, // 高32位偏移量
0, // 低32位偏移量
dwDataSize // 映射的數據大小
);
現在你可以在lpData指向的內存區域中讀取和寫入數據了。
當不再需要共享數據時,記得使用UnmapViewOfFile函數來解除映射,并使用CloseHandle函數關閉文件映射對象的句柄。
以上就是通過CreateFileMapping共享數據的基本步驟。在具體應用中,你可能需要根據情況進行適當的修改和擴展。