WinAPI内存不足
我想得到一些帮助,因为这几天我一直在关注这个问题 我在谷歌上搜索,试图了解什么是dwMaximumSizeHigh和dwMaximumSizeLow 我读了一些关于这个参数的文档,但我不太明白它是什么 我写了一个代码WinAPI内存不足,winapi,Winapi,我想得到一些帮助,因为这几天我一直在关注这个问题 我在谷歌上搜索,试图了解什么是dwMaximumSizeHigh和dwMaximumSizeLow 我读了一些关于这个参数的文档,但我不太明白它是什么 我写了一个代码 #include <windows.h> #include <stdio.h> void MappingOpen(PCWSTR lpFileName) { HANDLE hFile = CreateFileW(lpFileName, FILE_GEN
#include <windows.h>
#include <stdio.h>
void MappingOpen(PCWSTR lpFileName)
{
HANDLE hFile = CreateFileW(lpFileName, FILE_GENERIC_READ, FILE_SHARE_VALID_FLAGS, 0, OPEN_EXISTING, 0, 0);
if (hFile != INVALID_HANDLE_VALUE)
{
FILE_STANDARD_INFO fsi;
if (GetFileInformationByHandleEx(hFile, FileStandardInfo, &fsi, sizeof(fsi)))
{
HANDLE hSection = CreateFileMappingW(hFile, 0, PAGE_READONLY, 0, 1, 0);
if (hSection == NULL)
{
DWORD error_code = GetLastError();
printf("The error code is %lu",error_code);
}
else
{
printf("The create file mapping work ");
CloseHandle(hSection);
}
}
CloseHandle(hFile);
}else
{
printf("Cannot be open");
}
}
即使我将0添加到dwMaximumSizeHigh和0 dwMaximumSizeHigh,我也会得到另一个错误\u文件\u无效
非常感谢您dwMaximumSizeHigh和dwMaxsimumSizeLow是相同价值的一部分 它是32位部分的64位值。。高低部分 |32位高| 32位低| 也许这有助于理解 这里解释如下: 来自的第4和第5个参数:尝试映射长度为0的文件失败,错误代码为error\u file\u INVALID。应用程序应测试长度为0的文件,并拒绝这些文件。