CAtlFileMappingBase::MapFile
更新 : 2007 年 11 月
指定したファイルのファイル マップ オブジェクトを開くか、または作成します。
HRESULT MapFile(
HANDLE hFile,
SIZE_T nMappingSize = 0,
ULONGLONG nOffset = 0,
DWORD dwMappingProtection = PAGE_READONLY,
DWORD dwViewDesiredAccess = FILE_MAP_READ
) throw( );
パラメータ
hFile
マップ オブジェクトを作成するファイルへのハンドル。hFile は有効にする必要があるため、INVALID_HANDLE_VALUE に設定することはできません。nMappingSize
マップ サイズ。0 の場合、ファイル マップ オブジェクトの最大サイズは、hFile. で指定されたファイルの現在のサイズと一致します。nOffset
割り当てを開始するファイルのオフセット。オフセット値は、システムのメモリ割り当ての単位の倍数であることが必要です。dwMappingProtection
ファイル割り当て時にファイルのビューに必要な保護。Windows SDK の「CreateFileMapping」で flProtect に関する説明を参照してください。dwViewDesiredAccess
ファイル ビューへのアクセスの種類。これを指定することによって、ファイルによって割り当てられたページの保護も指定されます。Windows SDK の「MapViewOfFileEx」で dwDesiredAccess に関する説明を参照してください。
戻り値
正常に終了した場合は、S_OK を返します。それ以外の場合は、エラーの HRESULT を返します。
解説
ファイル マップ オブジェクトを作成した後は、ファイル サイズがファイル マップ オブジェクトのサイズを超えることはできません。ファイル サイズがファイル マップ オブジェクトのサイズを超えた場合、一部のファイルの内容を共有できなくなる可能性があります。詳細については、Windows SDK の「CreateFileMapping」および「MapViewOfFileEx」を参照してください。
使用例
「CAtlFileMappingBase::CAtlFileMappingBase」の例を参照してください。
スマート デバイス開発者のためのメモ
hFile パラメータは、CreateFile から返されるハンドルではなく、CreateFileForMapping から返されるハンドルである必要があります。この制限は、このメソッドを AtlFile と組み合わせて使用できないことも意味します。
必要条件
ヘッダー : atlfile.h