0

私はバグのあるコードを持っています。

HANDLE lpProcess = GetCurrentProcess();
PROCESS_MEMORY_COUNTERS lMemoryCounters; 
GetProcessMemoryInfo( lpProcess, &lMemoryCounters, sizeof(lMemoryCounters) );

次に、GetLastError() の値に関係なく、lMemoryCountersが使用されます。私の質問は、エラーが発生した場合でも構造体 lMemoryCounters が変更されるか、それとも初期化されないままになるかということです。

もちろん、リリース構成では...

おそらくそれは問題ではありませんが、私はWin7 SP1 64ビットで実行しています...


PS

テストを実行しました: MSVC (VS2005) を使用してビルドした場合、無効なプロセス ハンドルを持つPagefileUsage (興味のあるもの) の値は常に 0 です。

しかし...インテル C++ 9.1を使用してコードをビルドすると、同じフィールドに対して常に大きなランダム値が得られます (プロセス ハンドルが無効であると仮定します)。多分私は自分自身の質問に答えていますか???

4

0 に答える 0