主要是关于MapViewOfFile()的参数设置问题
我想在已经创建好的文件映射对象上可以随便操作文件指针
类似于fseek()函数一样,现在就是MapViewOfFile()函数的参数不知道如何设置
例如我想从开始位置移动5个字节,然后开始读10个字节
将这个10个字节取出。不知道那位能指点一二?
我想在已经创建好的文件映射对象上可以随便操作文件指针
类似于fseek()函数一样,现在就是MapViewOfFile()函数的参数不知道如何设置
例如我想从开始位置移动5个字节,然后开始读10个字节
将这个10个字节取出。不知道那位能指点一二?
解决方案 »
- 文件保存的问题!~~
- 各位大虾看看为啥不能贴图啊.我套用的代码应该没问题啊
- 用VC实现,对zernike图像的傅里叶变换,表示出相位和幅度谱
- 请问一下在VS2005里调用存储过程,存储过程的有一个变量是游标,请问这个游标在VC里该传入什么参数呢?
- OnCtlColor()改变Edit控件颜色
- 怎样区分获得句柄的窗口是浏览器窗口还是其他应用程序窗口?
- 视频采集卡
- 永远的API
- 請問:windows的局域網路登錄密碼如何獲取?屏幕保護密碼如何得到?
- 在多线程(UI)中如何在某个线程的主窗口中获得该线程的线程的id???(wait on line....)
- 一个简单又迷惑本人的问题,请教高手,关注给分。
- 请教有关串口编程方面的知识点
LPVOID MapViewOfFile(
HANDLE hFileMappingObject, // file-mapping object to map into
// address space
DWORD dwDesiredAccess, // access mode
DWORD dwFileOffsetHigh, // high-order 32 bits of file offset
DWORD dwFileOffsetLow, // low-order 32 bits of file offset
DWORD dwNumberOfBytesToMap // number of bytes to map
);
为什么这样后错误了?
这样后出现错误号位1132
我查了一下The base address or the file offset specified does not have the proper alignment. 这个错误~
DWORD dwDesiredAccess,
DWORD dwFileOffsetHigh,
DWORD dwFileOffsetLow,
DWORD dwNumberOfBytesToMap); dwDesiredAccess用来指定我们想对文件进行的操作。在我们例子中,我们只想读,故指定标志FILE_MAP_READ。
dwFileOffsetHigh 和 dwFileOffsetLow 用来指定打开文件中欲映射的起始偏移位置。我们的例子中想映射整个的文件,故指定它们的值为0。
dwNumberOfBytesToMap 用来指定欲映射的字节数,如果想映射整个的文件,设定该值为0。
DWORD dwFileOffsetLow
必须是操作系统的分配粒度的整数倍,对于Windows操作系统,分配粒度固定为64KB
// 设定大小、偏移量等参数
__int64 qwFileSize = 0x4000000;
__int64 qwFileOffset = 0;
DWORD dwBytesInBlock = 10 * sinf.dwAllocationGranularity;// 将文件数据映射到进程的地址空间
PBYTE pbFile = (PBYTE)MapViewOfFile(hFileMapping,
FILE_MAP_ALL_ACCESS,
(DWORD)(qwFileOffset>>32), (DWORD)(qwFileOffset&0xFFFFFFFF), dwBytesInBlock);然后用pbFile操作就行了
MapViewOfFile()得到的Handle可以直接操作了吗?
用api和CFile可以吗?