CreateFileMapping |
Declare Function Api_CreateFileMapping& Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile&, ByVal lpFileMappigAttributes&, ByVal flProtect&, ByVal dwMaximumSizeHigh&, ByVal dwMaximumSizeLow&, ByVal lpName$) |
||||||||||||||||||||||||||||||||||||||||
Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, lpFileMappigAttributes As SECURITY_ATTRIBUTES, ByVal flProtect As Long, ByVal dwMaximumSizeHigh As Long, ByVal dwMaximumSizeLow As Long, ByVal lpName As String) As Long |
|||||||||||||||||||||||||||||||||||||||||
指定されたファイルに対する、名前付きまたは名前なしのファイルマッピングオブジェクトを作成または開く。 |
|||||||||||||||||||||||||||||||||||||||||
パラメータ パラメータで指定する保護フラグと互換性のあるアクセスモードで、このファイルを開いておかなければならない。
また、排他アクセスモードで開いておくことを推奨する。 dwMaximumSizeLow の各パラメータを使ってマッピングオブジェクトのサイズも指定しなければならない。 この場合、CreateFileMapping は指定されたサイズのファイルマッピングオブジェクトを作成するが、ファイルシステム内の名前付きファイル ではなく、オペレーティングシステムのページングファイルに関連付ける。
複製、継承、名前の指定のいずれかより、ファイルマッピングオブジェクトを共有することもできる。
タを指定する。NULL を指定すると、マッピングオブジェクトのハンドルを継承できない。
指定すると、ファイルマッピングオブジェクトは既定のセキュリティ記述子を受け取る。
ビット単位の OR 演算子を使って、ページ保護に関係する上記の値に、次に示すセクション属性値の 1 つまたは複数を組み合わせることが できる。
dwMaximumSizeHigh の両方のパラメータで 0 を指定すると、hFile パラメータで指定したファイルの現在のサイズが、ファイルマッピングオブジェクトの最大サイズに
なる。
サイズが 0 のファイルに関してはアプリケーションはこのテストを行って、そのようなファイルを排除すべきである。
ングオブジェクトへのアクセスを要求する。 クトの名前と一致する場合、この関数は失敗し、GetLastError 関数は ERROR_INVALID_HANDLE を返する。
これらのオブジェクトが同じ名前空間を共有することが原因。
「Local\」の接頭辞を付けることができる。名前の残りの部分は、円記号(\)を除き、任意の文字を記述できる。
る。名前の残りの部分は、円記号(\)を除き、任意の文字を記述できる。 指定したファイルマッピングオブジェクトが既に存在していた場合は、既存のファイルマッピングオブジェクトのハンドルが返る。 オブジェクトのサイズは、指定したサイズではなく、そのオブジェクトの現在のサイズになる。また、GetLastError 関数の戻り値は
ERROR_ALREADY_EXISTS になる。 |