|
ソースや GetLastError() の値の提示がないから判断できないけど、
あなたのプログラムのどこかがバグってるんだろう。
ウチの sandbox 用 XPSP3 32bit 物理メモリ 2.5G のマシンで下記コードはエラー無く終了している
int _tmain()
{
HANDLE h;
int n;
for (n=0; n<500000; ++n) {
h=CreateFileMapping(INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, 3192, 0);
if (h==INVALID_HANDLE_VALUE) {
_tprintf(_T("n=%d e=%d\n"), n, GetLastError());
return 0;
}
MapViewOfFileEx(h, FILE_MAP_WRITE, 0, 3192, 0, 0);
}
return 0; // ここでブレイクして
}
プロセスのメモリ使用量 1216KiB ハンドル数 500013
システム全体での PF 使用量 2.25GiB コミットチャージ 2360036 KiB
ってとこか。
|