MapViewOfFile2 関数 (memoryapi.h)
ファイルまたはページファイルに基づくセクションのビューを、指定されたプロセスのアドレス空間にマップします。
構文
PVOID MapViewOfFile2(
[in] HANDLE FileMappingHandle,
[in] HANDLE ProcessHandle,
[in] ULONG64 Offset,
[in, optional] PVOID BaseAddress,
[in] SIZE_T ViewSize,
[in] ULONG AllocationType,
[in] ULONG PageProtection
);
パラメーター
[in] FileMappingHandle
指定したプロセスのアドレス空間にマップされるセクションへの HANDLE 。
[in] ProcessHandle
セクションがマップされるプロセスへの HANDLE 。 ハンドルには 、PROCESS_VM_OPERATION アクセス マスクが必要です。
[in] Offset
セクションの先頭からのオフセット。 これは 64k アラインされている必要があります。
[in, optional] BaseAddress
ビューの目的のベース アドレス。 アドレスは、最も近い 64k 境界に切り捨てられます。 このパラメーターが NULL の場合、システムはベース アドレスを選択します。
[in] ViewSize
マップするバイト数。 0 の値は、セクション全体をマップすることを指定します。
[in] AllocationType
割り当ての種類。 このパラメーターには、ゼロ (0) または次のいずれかの定数値を指定できます。
- MEM_RESERVE - 予約ビューをマップします。
- MEM_LARGE_PAGES - 大きなページ ビューをマップします。 このフラグは、 大きなページのサポートを使用してビューをマップする必要があることを指定します。 ビューのサイズは 、GetLargePageMinimum 関数によって報告される大きなページのサイズの倍数である必要があり、ファイル マッピング オブジェクトは SEC_LARGE_PAGES オプションを使用して作成されている必要があります。 BaseAddress パラメーターに null 以外の値を指定する場合、値は GetLargePageMinimum の倍数である必要があります。
[in] PageProtection
目的のページ保護。
SEC_IMAGE属性を使用して作成されたファイル マッピング オブジェクトの場合、PageProtection パラメーターは無効であり、PAGE_READONLYなどの有効な値に設定する必要があります。
戻り値
成功した場合は、マップされたビューのベース アドレスを返します。 それ以外の場合は NULL を 返し、拡張エラーの状態は GetLastError を使用して使用できます。
解説
この関数はヘッダーのインライン関数として実装されており、エクスポート ライブラリや DLL には見つかりません。 これは、最後のパラメーターが にNUMA_NO_PREFERRED_NODE
設定された MapViewOfFileNuma2 を呼び出すのと同じです。
要件
サポートされている最小のクライアント | Windows 10、バージョン 1703 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | memoryapi.h (Windows.h、Memoryapi.h を含む) |
Library | onecore.lib |
[DLL] | Kernel32.dll |