我想就WINAPI 函数CreateFileMapping() 寻求帮助,该函数不断返回NULL。在 GetLastError() 之后,我得到 5 -“ERROR_ACCESS_DENIED 5 (0x5) 访问被拒绝”。该文件在 CreateFile 之后创建没有问题,但在 CreateFileMapping 之后从未成功过。
int MapDestFile(LPCWSTR fPath)
{
hDestFile = CreateFile(
fPath,
GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hSourceFile == NULL)
{
printf("%d\n", GetLastError());
}
hDestMapFile = CreateFileMapping(
hDestFile,
NULL,
PAGE_READWRITE,
0,
10,
NULL
);
if (hDestMapFile == NULL)
{
// here always tell error number 5
printf("%d\n", GetLastError());
}
lpMapAddressDestFile = MapViewOfFile(
hDestMapFile,
FILE_MAP_WRITE,
0,
0,
0);
if (lpMapAddressDestFile == NULL)
{
printf("%d\n", GetLastError());
}
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何建议。
谢谢
| 归档时间: |
|
| 查看次数: |
6109 次 |
| 最近记录: |