ACCESS_MASK

ACCESS_MASKデータ型は、標準、特定、およびジェネリックの権限を定義する DWORD 値です。 これらの権限は 、アクセス制御エントリ (ACE) で使用され、オブジェクトへの要求または付与されたアクセスを指定する主な手段です。

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

解説

この値のビットは、次のように割り当てられます。

Bits 説明
0 15
特定の権限。 マスクに関連付けられているオブジェクトの種類に固有のアクセス マスクが含まれます。
16 23
標準権限。 オブジェクトの標準アクセス権を格納します。
24
システム セキュリティ (ACCESS_SYSTEM_SECURITY) にアクセスします。 これは、システム アクセス制御リスト (SACL) へのアクセスを示すために使用されます。 この種類のアクセスには、呼び出し元プロセスに SE_SECURITY_NAME (監査ログとセキュリティ ログの管理) 特権が必要です。 このフラグが監査アクセス ACE のアクセス マスクに設定されている場合 (アクセスの成功または失敗)、SACL アクセスは監査されます。
25
許可される最大 (MAXIMUM_ALLOWED)。
26 27
予約済み。
28
汎用すべて (GENERIC_ALL)。
29
汎用実行 (GENERIC_EXECUTE)。
30
汎用書き込み (GENERIC_WRITE)。
31
ジェネリック読み取り (GENERIC_READ)。

標準権限ビット (16 から 23) には、オブジェクトの標準アクセス権が含まれており、次の定義済みフラグを組み合わせて使用できます。

ビット フラグ 説明
16
DELETE
アクセス権を削除します。
17
READ_CONTROL
セキュリティ記述子の所有者、グループ、随 意アクセス制御リスト (DACL) への読み取りアクセス。
18
WRITE_DAC
DACL への書き込みアクセス権。
19
WRITE_OWNER
所有者への書き込みアクセス権。
20
同期
アクセスを同期します。

Winnt.h で定義されている次の定数は、特定の標準アクセス権を表します。

#define DELETE                           (0x00010000L)
#define READ_CONTROL                     (0x00020000L)
#define WRITE_DAC                        (0x00040000L)
#define WRITE_OWNER                      (0x00080000L)
#define SYNCHRONIZE                      (0x00100000L)

#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)

#define STANDARD_RIGHTS_READ             (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)

#define STANDARD_RIGHTS_ALL              (0x001F0000L)

#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー
Winnt.h (Windows.h を含む)

関連項目

アクセス制御

基本的なAccess Control構造

アクセス権とアクセス マスク

GENERIC_MAPPING