-
-
[求助]CreateFileMapping在远程文件映射盘中错误
-
发表于:
2013-1-30 16:08
4784
-
[求助]CreateFileMapping在远程文件映射盘中错误
问题是这样的,我用微软自带的远程桌面连接到一台电脑上(在本地资源里面选择本地的一个磁盘作为被远程电脑的映射盘),然后在被远程的电脑(win7)上使用Filemapping修改这个映射盘上面的内容。代码如下:
LPCWSTR lpFilePath = L"\\\\tsclient\\D\\11.txt";
HANDLE hFile = CreateFileW(lpFilePath,
GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
LARGE_INTEGER largeSize;
GetFileSizeEx(hFile,&largeSize);
HANDLE hMap = CreateFileMapping(hFile,NULL,PAGE_READWRITE,0,largeSize.LowPart +
100 ,NULL);
CloseHandle(hFile);
CloseHandle(hMap);
这样的操作会导致CreateFileMapping返回1224(ERROR_USER_MAPPED_FILE),但是如果
CreateFileMapping(hFile,NULL,PAGE_READWRITE,0,largeSize.LowPart ,NULL);
就是没有错误的,区别就是没有在filemapping里面增加空间(没有+100);
但是,如果操作的文件不是映射盘上的文件,是可以使用+100的,在映射盘上使用-100也是没有错误的。。
这是为什么呢,我想在映射盘是上修改文件,需要增加一点空间。。
各位大牛,求助
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课