次の方法で共有


ファイルマッピングのセキュリティとアクセス権

Windows セキュリティ モデルを使用すると、ファイル マッピング オブジェクトへのアクセスを制御できます。 詳細については、 アクセス制御モデルを参照してください。

CreateFileMapping 関数を呼び出すときに、ファイル マッピング オブジェクトの セキュリティ記述子 を指定できます。 NULL を指定すると、オブジェクトはデフォルトのセキュリティ記述子を取得します。 ファイル マッピング オブジェクトの既定のセキュリティ記述子の ACL は、作成者のプライマリ トークンまたは偽装トークンから取得されます。

ファイル マッピング オブジェクトのセキュリティ記述子を取得するには、 GetNamedSecurityInfo または GetSecurityInfo 関数を呼び出します。 ファイル マッピング オブジェクトのセキュリティ記述子を設定するには、 SetNamedSecurityInfo または SetSecurityInfo 関数を呼び出します。

ファイル マッピング オブジェクトの有効なアクセス権には、 >DELETEREAD_CONTROLWRITE_DACWRITE_OWNER 標準アクセス権が含まれます。 ファイル マッピング オブジェクトは、 SYNCHRONIZE 標準アクセス権をサポートしていません。 次の表は、ファイル マッピング オブジェクトに固有のアクセス権を示しています。

アクセス権 意味
FILE_MAP_ALL_ACCESS FILE_MAP_EXECUTEを除くファイル マッピング オブジェクトへのすべてのアクセス権が含まれます。 MapViewOfFile および MapViewOfFileEx 関数は、これを FILE_MAP_WRITE を指定するのと同じように扱います。
FILE_MAP_EXECUTE ファイル マッピング オブジェクトの実行可能ビューのマッピングを許可します。 オブジェクトは、 PAGE_EXECUTE_READPAGE_EXECUTE_WRITECOPY、または PAGE_EXECUTE_READWRITE 保護などの実行アクセスを許可するページ保護を使用して作成されている必要があります。
FILE_MAP_READ ファイル マッピング オブジェクトの読み取り専用ビューまたはコピーオンライト ビューのマッピングを許可します。
FILE_MAP_WRITE ファイル マッピング オブジェクトの読み取り専用、コピーオンライト、または読み取り/書き込みビューのマッピングを許可します。 オブジェクトは、 PAGE_READWRITE または PAGE_EXECUTE_READWRITE 保護などの書き込みアクセスを許可するページ保護を使用して作成されている必要があります。

ファイル マッピング オブジェクトのコピー オン ライト ビューをマッピングするには、読み取り専用ビューをマッピングする場合と同じアクセスが必要です。 FILE_MAP_COPY フラグはアクセス権ではないため、セキュリティ記述子の DACL の一部として指定しないでください。 この値は、 MapViewOfFile 関数や MapViewOfFileEx 関数などのファイル マッピング オブジェクトのビューをマップする関数、または FILE_MAP_COPYFILE_MAP_READ と同じように扱う OpenFileMapping 関数でのみ使用できます。

オブジェクトの SACL を読み取ったり書き込んだりする場合は、ファイル マッピング オブジェクトに対する ACCESS_SYSTEM_SECURITY アクセス権を要求できます。 詳細については、 アクセス制御リスト (ACL) および SACL アクセス権を参照してください。