ACTRL_ACCESS_ENTRYA 構造体 (accctrl.h)

指定されたトラスティのアクセス制御情報が含まれます。 この構造体は、 ACE に格納されているアクセス制御情報と同等の情報を格納します。

構文

typedef struct _ACTRL_ACCESS_ENTRYA {
  TRUSTEE_A     Trustee;
  ULONG         fAccessFlags;
  ACCESS_RIGHTS Access;
  ACCESS_RIGHTS ProvSpecificAccess;
  INHERIT_FLAGS Inheritance;
  LPSTR         lpInheritProperty;
} ACTRL_ACCESS_ENTRYA, *PACTRL_ACCESS_ENTRYA;

メンバー

Trustee

アクセス制御エントリが適用されるユーザー、グループ、またはプログラム (サービスなど) を識別する トラスティ 構造体。

fAccessFlags

Access メンバーと ProvSpecificAccess メンバーによって指定されたアクセス権がトラスティにどのように適用されるかを示します。 このメンバーには、次のいずれかの値を指定できます。 この構造体を IAccessControl の COM 実装で使用する場合、このメンバーはACTRL_ACCESS_ALLOWEDまたはACTRL_ACCESS_DENIEDである必要があります。

意味
ACTRL_ACCESS_ALLOWED
0x00000001
権限は許可されます。
ACTRL_ACCESS_DENIED
0x00000002
権限は拒否されます。
ACTRL_AUDIT_SUCCESS
0x00000004
権限の使用が失敗した場合、システムによって監査メッセージが生成されます。
ACTRL_AUDIT_FAILURE
0x00000008
権限の使用が正常に試行された場合は、監査メッセージが生成されます。

Access

エントリがトラスティに対して許可、拒否、または監査するアクセス権を指定するビットマスク。

このメンバーは、READ_CONTROLなどのアクセス フラグではなく、プロバイダーに依存しないアクセス フラグ (ACTRL_READ_CONTROL など) を使用する必要があります。 オブジェクト型のプロバイダーは、これらのプロバイダーに依存しないフラグを、対応するプロバイダー固有のフラグに変換します。

この構造体を IAccessControl の COM 実装で使用する場合は、このメンバーをCOM_RIGHTS_EXECUTEする必要があります。

ACTRL_SYSTEM_ACCESS

ACTRL_DELETE

ACTRL_READ_CONTROL

ACTRL_CHANGE_ACCESS

ACTRL_CHANGE_OWNER

ACTRL_SYNCHRONIZE

ACTRL_STD_RIGHTS_ALL

ACTRL_STD_RIGHT_REQUIRED

COM_RIGHTS_EXECUTE

COM_RIGHTS_EXECUTE_LOCAL

COM_RIGHTS_EXECUTE_REMOTE

COM_RIGHTS_ACTIVATE_LOCAL

COM_RIGHTS_ACTIVATE_REMOTE

ProvSpecificAccess

プロバイダーの種類に固有のアクセス権を指定するビットマスク。 ACTRL_ACCESS_ENTRY構造体を使用する関数は、これらのビットを解釈せずにプロバイダーに渡します。 ほとんどの場合、このメンバーは 0 である必要があります。

Inheritance

他のコンテナーまたはオブジェクトが、アクセス リストがアタッチされているプライマリ オブジェクトからアクセス制御エントリを継承できるかどうかを決定するビット フラグのセット。 この構造体を IAccessControl の COM 実装で使用する場合、この値はNO_INHERITANCEする必要があります。これは、アクセス制御エントリが継承できないことを示します。 それ以外の場合は、この値をNO_INHERITANCEするか、次の値の組み合わせを使用できます。

意味
CONTAINER_INHERIT_ACE
0x2
プライマリ オブジェクトに含まれるその他のコンテナーによって、エントリを継承します。
INHERIT_ONLY_ACE
0x8
ACE は ACL がアタッチされているプライマリ オブジェクトには適用されませんが、プライマリ オブジェクトに含まれるオブジェクトはエントリを継承します。
NO_PROPAGATE_INHERIT_ACE
0x4
OBJECT_INHERIT_ACEフラグとCONTAINER_INHERIT_ACE フラグは、継承されたエントリには反映されません。
OBJECT_INHERIT_ACE
0x1
プライマリ オブジェクトに含まれる非コンテナー オブジェクトは、エントリを継承します。
SUB_CONTAINERS_AND_OBJECTS_INHERIT
0x3
プライマリ オブジェクトに含まれるコンテナーオブジェクトと非コンテナー オブジェクトの両方がエントリを継承します。 このフラグは、CONTAINER_INHERIT_ACEフラグとOBJECT_INHERIT_ACE フラグの組み合わせに対応します。
SUB_CONTAINERS_ONLY_INHERIT
0x2
プライマリ オブジェクトに含まれるその他のコンテナーによって、エントリを継承します。 このフラグは、CONTAINER_INHERIT_ACE フラグに対応します。
SUB_OBJECTS_ONLY_INHERIT
0x1
プライマリ オブジェクトに含まれる非コンテナー オブジェクトは、エントリを継承します。 このフラグは、OBJECT_INHERIT_ACE フラグに対応します。

lpInheritProperty

エントリを継承できるオブジェクト型を識別する null で終わる文字列へのポインター。 この構造体を IAccessControl の COM 実装で使用する場合、このメンバーは NULL である必要があります。

注釈

注意

accctrl.h ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてACTRL_ACCESS_ENTRYを定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header accctrl.h

こちらもご覧ください

ACTRL_ACCESS_ENTRY_LIST

トラスティ