内存映射文件初步学习
来源:互联网 发布:网络大电影制作收费 编辑:程序博客网 时间:2024/05/21 13:54
HANDLE hFile = NULL;
HANDLE hFileMaping = NULL;
SYSTEM_INFO sysInfo;
GetSystemInfo(&sysInfo);
DWORD dwPageSize = sysInfo.dwAllocationGranularity;
do
{
hFile = CreateFileW(L"D://pfsvoddata.bbv", GENERIC_READ,
FILE_SHARE_READ, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == hFile)
{
break;
}
hFileMaping = CreateFileMappingW(hFile, NULL, PAGE_READONLY, 0, 0,
L"jyytest");
if (NULL == hFileMaping)
{
break;
}
CloseHandle(hFile);
hFile = NULL;
DWORD dwFileHight = 0;;
__int64 n64FileSize = GetFileSize(hFile, &dwFileHight);
n64FileSize += ((__int64) dwFileHight) << 32;
__int64 n64FileMapOffSet = 0;
do
{
DWORD dwMapSize = dwPageSize;
if (dwMapSize > n64FileSize)
{
dwMapSize = (DWORD) n64FileSize;
}
DWORD dwOffsetLow =(DWORD) (n64FileMapOffSet & 0x00000000FFFFFFFF);
DWORD dwOffsetHight = (DWORD) ((n64FileMapOffSet & 0xFFFFFFFF00000000) >> 32);
int *pValue = (int *) MapViewOfFile(hFileMaping, FILE_SHARE_READ,
dwOffsetHight, dwOffsetLow, dwMapSize); //特别要注意一次的 偏移为64K的整数倍
if (NULL == pValue)
{
UnmapViewOfFile(pValue);
break;
}
n64FileMapOffSet += dwMapSize;
n64FileSize -= dwMapSize;
UnmapViewOfFile(pValue);
} while (n64FileSize > 0);
} while (0);
getchar();
- 内存映射文件初步学习
- 第一次学习内存映射文件
- 内存映射文件学习笔记
- 内存映射文件学习笔记
- 内存映射文件 学习笔记
- 内存映射:内存映射文件
- 内存映射:内存映射文件
- VC下学习内存映射文件笔记
- 学习笔记:内存映射处理大文件
- C#内存映射文件学习总结
- 内存映射函数mmap的初步理解
- 内存映射文件
- 内存映射文件 续
- 内存映射文件 尾
- 内存映射文件
- 使用内存映射文件
- 内存映射文件
- 内存映射文件
- BBS營銷
- 整下CSDN的博客
- UCenter 数据字典公开下载
- 免费网络硬盘-千脑网盘
- 关于XP系统反复注销,无法登录的修复方法
- 内存映射文件初步学习
- kindEditor编辑器的使用
- PHPdtb 1.0正式版CHM手册
- 学校封了P2P后,怎么下载电影等资源!
- 关于人生困惑的62个问题的回答
- getopt_long函数学习笔记
- Delphi7 利用 dbxopenmysql5 连接mysql5.1
- 类的静态常量初始化
- 初建博客