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

参照

参照

CAtlFileMappingBase クラス

その他の技術情報

CAtlFileMappingBase のメンバ