parameters

[in] dwDesiredAccess

对文件映射对象的访问。 针对目标文件映射对象上的任何安全描述符检查此访问。 有关值列表,请参阅 文件映射安全性和访问权限

[in] bInheritHandle

如果此参数为 TRUE ,则 CreateProcess 函数创建的进程可以继承句柄;否则,无法继承句柄。

[in] lpName

要打开的文件映射对象的名称。 如果文件映射对象具有按此名称打开的句柄,并且映射对象上的安全描述符与 dwDesiredAccess 参数不冲突,则打开操作会成功。 名称可以具有“Global”或“Local”前缀,以显式打开全局命名空间或会话命名空间中的对象。 名称的其余部分可以包含除反斜杠字符 (\) 以外的任何字符。 有关详细信息,请参阅 内核对象命名空间 。 使用终端服务会话实现快速用户切换。 第一个登录用户使用会话 0,下一个登录用户使用会话 1,依此。 内核对象名称必须遵循终端服务概述的准则,以便应用程序可以支持多个用户。

如果函数成功,则返回值是指定文件映射对象的打开句柄。

如果函数失败,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。

OpenFileMapping 返回的句柄可以与需要文件映射对象的句柄的任何函数一起使用。

通过映射视图修改文件时,上次修改时间戳可能不会自动更新。 如果需要,调用方应使用 SetFileTime 设置时间戳。

当不再需要时,调用方应调用 OpenFileMapping 返回的句柄释放,并调用 CloseHandle

在 Windows Server 2012 中,以下技术支持此功能。

服务器消息块 (SMB) 3.0 协议 SMB 3.0 透明故障转移 (TFO) 具有横向扩展文件共享的 SMB 3.0 (SO) 群集共享卷文件系统 (CSV) 弹性文件系统 (ReFS)

有关示例,请参阅 创建命名共享内存