次の方法で共有


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 [デスクトップ アプリのみ]
ヘッダー accctrl.h

関連項目

ACTRL_ACCESS_ENTRY_LIST

トラスティ