<Return[O]><Top>

OpenFileMapping

Declare Function Api_OpenFileMapping& Lib "kernel32" Alias "OpenFileMappingA" (ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal lpName$)

Declare Function OpenFileMapping Lib "kernel32" Alias "OpenFileMappingA" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal lpName As String) As Long

名前付きのファイルマッピングオブジェクトを開く。

パラメータ
dwDesiredAccess
    ファイルマッピングオブジェクトへのアクセスのタイプを指定する。
    Windows NT/2000:このアクセスを、アクセス対象のファイルマッピングオブジェクトのすべてのセキュリティ記述子と比較する。
    Windows 95/98:ファイルマッピングオブジェクトに関するセキュリティ記述子はサポートされていない。
    次の値のいずれかを指定する。

    値                                         

意味                                                                                                                              

    FILE_MAP_WRITE

 

 

読み書きアクセスである。アクセス対象のファイルマッピングオブジェクトは、PAGE_READWRITE の保護

を指定して作成したものでなければならない。ファイルに対して、読み書き可能なビューをマップすることを認

る。

    FILE_MAP_READ

 

 

読み取り専用アクセスである。アクセス対象のファイルマッピングオブジェクトは、PAGE_READWRITE か

PAGE_READ の保護を指定して作成したものでなければならない。

ファイルに対して、読み取り専用のビューをマップすることを認める。

    FILE_MAP_ALL_ACCESS

 

 

あらゆるアクセスである。FILE_MAP_WRITE と同じことを意味する。アクセス対象のファイルマッピングオブ

ジェクトは、PAGE_READWRITE の保護を指定して作成したものでなければならない。ファイルに対して、

読み書き可能なビューをマップすることを認める。

    FILE_MAP_COPY

 

 

コピーへの読み書きアクセスである。アクセス対象のファイルマッピングオブジェクトは、

PAGE_WRITECOPY の保護を指定して作成したものでなければならない。

ファイルに対して、コピーへの読み書きが可能なビューをマップすることを認める。

bInheritHandle
    返されたハンドルを、プロセスを作成する際に新しいプロセスに継承させるかどうかを指定する。

    TRUE を指定すると、新しいプロセスはそのハンドルを継承する。
lpName
    開くべきファイルマッピングオブジェクトの名前を保持している文字列へのポインタを指定する。

    同じ名前のファイルマッピングオブジェクトに対して既にハンドルが開いていて、そのマッピングオブジェクトに関するセキュリティ記述子が、

    dwDesiredAccess パラメータの指定と競合しない場合は、そのマッピングオブジェクトを開くことに成功する。
    Terminal Services:グローバル名前空間またはセッション名前空間でオブジェクトを明示的に開くために、「Global\」または「Local\」

    の接頭辞を付けることができる。名前の残りの部分は、円記号(\)を除き、任意の文字を記述できる。
    Windows 2000:Terminal Services が動作していない Windows 2000 システムでは、「Global\」と「Local\」の各接頭辞は無視され

    る。名前の残りの部分は、円記号(\)を除き、任意の文字を記述できる。
    Windows NT 4.0 以前と Windows 95/98:名前は、円記号(\)を除き、任意の文字を記述できる。

戻り値
    関数が成功すると、ファイルマッピングオブジェクトに関連する、既に開いているハンドルが返る。
    関数が失敗すると、NULL が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。