windows编程IPC 文件映射(File Mapping)

xiaoxiao2021-02-28  83

文件映射(File Mapping)是进程间通信(IPC)的一种方式,本文主要讲解一下大致流程和函数。 Process A: 1 创建文件映射对象 HANDLE WINAPI CreateFileMapping(   HANDLE   hFile,   LPSECURITY_ATTRIBUTES  lpAttributes,   DWORD   flProtect,   DWORD   dwMaximumSizeHigh,   DWORD   dwMaximumSizeLow,   LPCTSTR   lpName ); 2 获得共享区域内存地址 LPVOID WINAPI MapViewOfFile(   HANDLE  hFileMappingObject,   DWORD  dwDesiredAccess,   DWORD  dwFileOffsetHigh,   DWORD  dwFileOffsetLow,   SIZE_T  dwNumberOfBytesToMap ); 3 结束进程结束使用共享内存后,调用UnmapViewOfFile函数以取消其地址空间内的视图: BOOL WINAPI UnmapViewOfFile(   LPCVOID  lpBaseAddress ); 4 关闭句柄 BOOL WINAPI CloseHandle(   HANDLE  hObject );

Process B; 1 在进程B中,打开已经创建的文件映射 HANDLE WINAPI OpenFileMapping(   DWORD   dwDesiredAccess,   BOOL   bInheritHandle,   LPCTSTR  lpName ); 2 获得共享区域内存地址MapViewOfFile 3 结束进程结束使用共享内存后,调用UnmapViewOfFile函数以取消其地址空间内的视图 4 CloseHandle关闭句柄

更过内容,查看MSDN官网: https://msdn.microsoft.com/en-us/library/aa366791(v=vs.85).aspx

转载请注明原文地址: https://www.6miu.com/read-76910.html

最新回复(0)