ハードディスクの一部の構成(RAID、ランダムパーティション、オペレーティングシステムパーティションではなく別のIDEコントローラを使用)でアプリケーションを実行していると何らかの理由でnull
がGetLastError
ERROR_INVALID_PARAMETER
のコード。特定のHDD構成でVirtualAllocが動作しない
フラグ(MEM_COMMIT | MEM_TOP_DOWN, PAGE_READWRITE)
から離れた唯一のパラメータは、ディスクジオメトリから得られたセクタサイズの倍数として計算されたサイズです(残念ながら、NDAなどの理由でポストコードは使用できません)。
誰もがこれを経験したことがありますか?誰かがWindowsがページサイズを扱う可能性のある理由を知っていれば、RAIDの一部であるディスク上で別の方法でパーティションを作成することもできます。
既に予約されているブロックをコミットしようとしているときに、ブロックを予約したときにアドレスが割り当て細分の倍数に切り捨てられているかどうかチェックしていますか?要求されたサイズの計算では、異常に大量のメモリを要求することに対して何らかの防御がありますか? –
オフセットはセクタサイズの細かさに切り捨てられ、エラーの発生を防ぐためにチェックインされますが、大量のメモリが要求されていないかのように見えますが、長さが不足した場合 – Stowelly
問題はDeviceIoControlにあるようですが、プライマリハードドライブではないディスクの場合、有効なドライブジオメトリ、アイデアは返されませんか? – Stowelly