仮想メモリの割り当て

仮想メモリ関数は、メモリのページを操作します。 関数は、現在のコンピューター上のページのサイズを使用して、指定したサイズとアドレスを切り捨てます。

VirtualAlloc 関数は、次のいずれかの操作を実行します。

  • 1 つ以上の無料ページを予約します。
  • 1 つ以上の予約ページをコミットします。
  • 1 つ以上の無料ページを予約してコミットします。

予約またはコミットするページの開始アドレスを指定することも、システムがアドレスを判別できるようにすることもできます。 関数は、指定したアドレスを適切なページ境界に丸めます。 予約済みページにはアクセスできませんが、コミットされたページは 、PAGE_READWRITEPAGE_READONLY、または PAGE_NOACCESS アクセスを使用して割り当てられます。 ページがコミットされると、ディスク上の RAM ファイルとページング ファイルの全体的なサイズからメモリ料金が割り当てられますが、各ページは初期化され、そのページに対する最初の読み取りまたは書き込み時にのみ物理メモリに読み込まれます。 通常のポインター参照を使用して、 VirtualAlloc 関数によってコミットされたメモリにアクセスできます。