`
lxlsp
  • 浏览: 6907 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

CreateFileMapping 说明

阅读更多

说明 创建一个新的文件映射对象。

 

HANDLE CreateFileMapping(
HANDLE hFile,              // 映射文件的句柄
LPSECURITY_ATTRIBUTES lpFileMappingAttributes,// 安全描述符指针
DWORD flProtect,           // 对映射对象的保护
DWORD dwMaximumSizeHigh,   // 对象最大长度的高32位
DWORD dwMaximumSizeLow,    // 对象最大长度的低32位
LPCTSTR lpName             // 文件内存映射对象的名字
);

 

参数:

hFile:映射文件的句柄,文件的打开模式必须与flProtect参数指定的相一致;如果这个参数值为0xFFFFFFFF,那么必须在dwMaximumSizeHigh和dwMaximumSizeLow参数中指定映射对象的大小。并且将在操作系统虚拟内存页面替换文件中创建文件映射对象,而不是使用磁盘文件,同时必须给出这个映射对象的大小。文件映射对象通过副本,遗传或名字来共享。

 

lpFileMappingAttributes:安全描述符指针,决定返回句柄是否能被子进程继承,如果是NULL,那么子进程不能继承。WinNt中,如果是NULL,那么文件映射对象得到一个默认的安全描述符。

 

flProtect:为得到的文件试图指定保护模式,可以被设置为下列值:
PAGE_READONLY :只读属性,并且hFile对应的文件必须以GENERIC_READ形式打开。
PAGE_READWRITE:可读可写属性,并且hFile对应的文件必须以GENERIC_READ 和 GENERIC_WRITE形式打开。
PAGE_WRITECOPY:对可写区域复制后操作,并且hFile对应的文件必须以GENERIC_READ 和 GENERIC_WRITE形式打开。

 

dwMaximumSizeHigh,dwMaximumSizeLow:如果这两个参数为0,则文件映射对象的最大长度等于hFile指定的文件长度。

lpName: 文件映射对象的名字,如果这个名字已存在,则按照flProtect指定的来处理映射对象。如果此参数为空,则创建一个无名字的文件映射对象。如果此参数 的名字与系统事件的名字相同,则函数执行失败,GetLastError返回 ERROR_INVALID_HANDLE;

 

返回值:函数调用成功返回文件映射对象的句柄,如果文件映射对象已经存在则返回原有映射对象的句柄,GetLastError返回ERROR_ALREADY_EXISTS。函数执行失败返回Null。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics