创建文件映射函数CreateFileMapping中第一个参数设置成0xFFFFFFFF

创建文件映射函数CreateFileMapping中第一个参数设置成0xFFFFFFFF创建文件内存映射:HANDLEhMySharedMapFile=CreateFileMapping((HANDLE)0xFFFFFFFF),NULL,PAGE_READWRITE,0,0x1000,"MySharedMem");其中第一个参数文件句柄设置成0XFFFFFFFF代表什么意思呢?0XFFFFFFFF在内存中又是什么意思呢?为什么要把文件句柄设置成0XFF…

大家好,又见面了,我是你们的朋友全栈君。创建文件内存映射:

HANDLE hMySharedMapFile=CreateFileMapping((HANDLE)0xFFFFFFFF),

NULL,PAGE_READWRITE,0,0x1000,”MySharedMem”);

其中第一个参数文件句柄设置成0XFFFFFFFF代表什么意思呢?

0XFFFFFFFF在内存中又是什么意思呢?

为什么要把文件句柄设置成0XFFFFFFFF???

网友回复:句柄设置成0XFFFFFFFF表示在内存中开辟一块区域。

网友回复:就是在内存中建立,而不是使用盘上的某个文件啊

网友回复:内存映射API函数CreateFileMapping创建一个有名的共享内存:

HANDLE CreateFileMapping(

HANDLE hFile, // 映射文件的句柄,

//设为0xFFFFFFFF以创建一个进程间共享的对象

LPSECURITY_ATTRIBUTES lpFileMappingAttributes, // 安全属性

DWORD flProtect, // 保护方式

DWORD dwMaximumSizeHigh, //对象的大小

DWORD dwMaximumSizeLow,

LPCTSTR lpName // 必须为映射文件命名

);

网友回复: 要把文件映像到内存,首先必须调用CreateFileMapping()函数,它需要用一个由CreateFile()函数打开并返回的文件句柄,对大多数共享内存应用程序,必须把此句柄设置为0xFFFFFFFF,用来指定系统页面文件。通过使用上面的特殊句柄,可以不调用CreateFile函数,当然在完成时,也不必有一个内存的磁盘文件拷贝。

网友回复:0XFFFFFFFF是INVALID_HANDLE_VALUE,表示不指定文件,在系统分页文件(pagefile.sys)中分配映射的磁盘空间。

网友回复:If hFile is (HANDLE)0xFFFFFFFF, the calling process must also specify a mapping object size in the dwMaximumSizeHigh and dwMaximumSizeLow parameters. The function creates a file-mapping object of the specified size backed by the operating-system paging file rather than by a named file in the file system. The file-mapping object can be shared through duplication, through inheritance, or by name.

网友回复:MSDN:

If hFile is INVALID_HANDLE_VALUE, the calling process must also specify a size for the file mapping object in the dwMaximumSizeHigh and dwMaximumSizeLow parameters. In this scenario, CreateFileMapping creates a file mapping object of a specified size that is backed by the system paging file instead of by a file in the file system.

INVALID_HANDLE_VALUE就是-1即0xffffffff

网友回复:实际上是用于进程间通信的,以共享内存的方式。

网友回复:-1

hFile

Handle to the file from which to create a mapping object. The file must be opened with an access mode compatible with the protection flags specified by the flProtect parameter. It is recommended, though not required, that files you intend to map be opened for exclusive access.

If hFile is (HANDLE)0xFFFFFFFF, the calling process must also specify a mapping object size in the dwMaximumSizeHigh and dwMaximumSizeLow parameters. The function creates a file-mapping object of the specified size backed by the operating-system paging file rather than by a named file in the file system. The file-mapping object can be shared through duplication, through inheritance, or by name.

本篇文章来源于 IT者 | www.itzhe.cn 原文链接:http://itzhe.cn/news/20080923/231975.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145837.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mshta进程「建议收藏」

    mshta进程「建议收藏」进程文件:mshta或者mshta.exe   进程名称:MicrosoftHTMLApplicationHost   描述:mshta.exe是微软Windows操作系统相关程序,用于执行.HTA文件。   出品者:MicrosoftCorp.   属于:MicrosoftWindowsOperatingSystem   系统进程:否   后…

    2022年7月15日
  • 关于Navicat 数据库一直激活不成功的解决方法[通俗易懂]

    关于Navicat 数据库一直激活不成功的解决方法[通俗易懂]首先激活时一直出现rsapublickeynotfound,说明获取不到激活码,此时就需要检查-在Patch的时候是不是没成功使用激活成功教程软件如果出现说已经patch过了的时候赶紧卸载重装!!-在激活的时候是不是没有断开网络解决办法:1、window+R输入regedit打开注册表,删除HKEY_CURRENT_USER->SOFTWARE->PremiumSoft2、接下来就是断网啦,把你电脑的WiFi先关了再进行如下操作重装Navic..

    2022年8月31日
  • IMU校正以及姿态融合[通俗易懂]

    版权声明:本文为博主原创文章,未经博主允许不得转载。博主:shenshikexmu联系方式:shenshikexmu@163.com缘起有缘在简极科技兼职两年。接触了IMU,我去的时候那家公司还是一个要把IMU放进足球的公司,祝愿简极越来越好。IMU校正算法大概是接触传感器三个月做出来的,博客IMU加速度、磁力计校正--椭球拟合的内容,那时只是把校准问题当作椭球拟合问题。融合算法大…

    2022年4月18日
  • 我的大学生活

    我的大学生活

    2021年8月10日
  • 机器学习-常用回归算法归纳(全网之最)

    机器学习-常用回归算法归纳(全网之最)文章目录前言一元线性回归多元线性回归局部加权线性回归多项式回归Lasso回归&Ridge回归Lasso回归Ridge回归岭回归和lasso回归的区别L1正则&L2正则弹性网络回归贝叶斯岭回归Huber回归KNNSVMSVM最大间隔支持向量&支持向量平面寻找最大间隔SVRCART树随机森林GBDTboosting思想AdaBoost思想提升树&梯度提升GBDT面试题整理XGBOOST面试题整理LightGBMXGBoost的缺点LightGBM的优化基于Hist

    2022年8月21日
  • 数据结构和算法_数据库原理考试题库

    数据结构和算法_数据库原理考试题库前言2016年又是一个全新的开始,每到一年的这个时候,总是颇有感慨。想对过去的一年做一些总结,但又觉得经历和精力总是不够。俗话说,一年之计在于春,当然,新的一年,也总是计划着N多事情,想做什么事情

    2022年8月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号