SI_OBJECT_INFO 構造体 (aclui.h)

SI_OBJECT_INFO構造体は、アクセス制御エディターの初期化に使用される情報を指定するために、ISecurityInformation::GetObjectInformation メソッドによって使用されます。

構文

typedef struct _SI_OBJECT_INFO {
  DWORD     dwFlags;
  HINSTANCE hInstance;
  LPWSTR    pszServerName;
  LPWSTR    pszObjectName;
  LPWSTR    pszPageTitle;
  GUID      guidObjectType;
} SI_OBJECT_INFO, *PSI_OBJECT_INFO;

メンバー

dwFlags

ユーザーが使用できる編集オプションを決定するビット フラグのセット。 このメンバーには、次の値の組み合わせを指定できます。

意味
SI_ADVANCED
0x00000010L
このフラグを設定すると、基本的 セキュリティ プロパティ ページに [詳細設定] ボタンが表示されます。 ユーザーがこのボタンをクリックすると、オブジェクトの随意アクセス制御リスト (DACL) の高度な編集を有効にする高度なセキュリティ プロパティ シートが表示されます。

このフラグをSI_EDIT_AUDITS、SI_EDIT_OWNER、およびSI_EDIT_PROPERTIESフラグと組み合わせて、オブジェクトの SACL、所有者、およびオブジェクト固有の アクセス制御エントリ (ACE) を編集できるようにします。

SI_AUDITS_ELEVATION_REQUIRED
0x02000000L
このフラグを設定すると、高度な監査ページの [編集] ボタンにシールドが表示されます。 NTFS オブジェクトの場合、このフラグは、ユーザーが READ_CONTROL または ACCESS_SYSTEM_SECURITY アクセス権を持っていない場合に要求されます。

Windows Server 2003 および Windows XP: このフラグはサポートされていません。

SI_CONTAINER
0x00000004L
オブジェクトがコンテナーであることを示します。 このフラグが設定されている場合、アクセス制御エディターは、子オブジェクトへのアクセス許可の継承に関連するコントロールを有効にします。
SI_DISABLE_DENY_ACE
0x80000000L
このフラグが設定されている場合、システムは ACE の拒否を無効にします。 このフラグを設定するには、アクセス制御エディターのクライアントが ISecurityInformation4 インターフェイスを実装する必要があります。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。

SI_EDIT_ALL
SI_EDIT_PERMS、SI_EDIT_OWNER、およびSI_EDIT_AUDITSフラグを組み合わせます。
SI_EDIT_AUDITS
0x00000002L
このフラグが設定され、ユーザーが [詳細設定 ] ボタンをクリックすると、オブジェクトの SACL を編集するための Auditing プロパティ ページ を含む高度なセキュリティ プロパティ シートが表示されます。 [詳細設定] ボタンを表示するには、SI_ADVANCED フラグを設定します。
SI_EDIT_EFFECTIVE
0x00020000L
このフラグを設定すると、[ 有効なアクセス許可] ページが表示されます。 アクセス制御エディターを初期化した ISecurityInformation オブジェクトが IEffectivePermission インターフェイスを実装していない場合、このフラグは無視されます。
SI_EDIT_OWNER
0x00000001L
このフラグが設定され、ユーザーが [詳細設定 ] ボタンをクリックすると、オブジェクトの所有者を変更するための 所有者プロパティ ページ を含む高度なセキュリティ プロパティ シートが表示されます。 [詳細設定] ボタンを表示するには、SI_ADVANCED フラグを設定します。
SI_EDIT_PERMS
0x00000000L
これが既定値です。 基本的なセキュリティ プロパティ ページには、オブジェクトの DACL の基本的な編集用のコントロールが常に表示されます。 これらのコントロールを無効にするには、SI_READONLY フラグを設定します。
SI_EDIT_PROPERTIES
0x00000080L
このフラグが設定されている場合、システムは、オブジェクトのプロパティ セットとプロパティに適用される ACE を編集するためのコントロールを有効にします。 これらのコントロールは、ユーザーが [詳細設定 ] ボタンをクリックしたときに表示されるプロパティ シートでのみ使用できます。
SI_ENABLE_CENTRAL_POLICY
0x40000000L
このフラグが設定されている場合、システムは属性の編集を有効にします。 このフラグを設定するには、アクセス制御エディターのクライアントが ISecurityInformation4 インターフェイスを実装する必要があります。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。

SI_ENABLE_EDIT_ATTRIBUTE_CONDITION
0x20000000L
このフラグが設定されている場合、システムは属性の編集を有効にします。 このフラグを設定するには、アクセス制御エディターのクライアントが ISecurityInformation4 インターフェイスを実装する必要があります。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。

SI_MAY_WRITE
0x10000000L
アクセス制御エディターが DACL を読み取ることができないが、DACL に書き込むことができる可能性があることを示します。 ISecurityInformation::GetSecurity メソッドの呼び出しで AccessDenied が返された場合、ユーザーは新しい ACE の追加を試みることができ、より適切な警告が表示されます。
SI_NO_ACL_PROTECT
0x00000200L
このフラグが設定されている場合、アクセス制御エディターは、継承可能な ACE を親オブジェクトからこのオブジェクトに伝達できるようにするチェック ボックスを非表示にします。 このフラグが設定されていない場合は、[チェック] ボックスが表示されます。

SE_DACL_PROTECTED フラグがオブジェクトのセキュリティ記述子に設定されている場合、チェック ボックスはオフになります。 この場合、オブジェクトの DACL は、継承可能な ACE によって変更されないように保護されます。

ユーザーが [チェック] ボックスをオフにすると、セキュリティ記述子内の継承された ACE が削除されるか、非継承 ACE に変換されます。 この変換を続行する前に、変更を確認する警告メッセージ ボックスが表示されます。

SI_NO_ADDITIONAL_PERMISSION
0x00200000L
このフラグを設定すると、アクセス制御エディターは [セキュリティの詳細設定] ページの [特別なアクセス許可] タブを非表示にします。
SI_NO_TREE_APPLY
0x00000400L
このフラグが設定されている場合、アクセス制御エディターは、NO_PROPAGATE_INHERIT_ACE フラグを制御するチェック ボックスを非表示にします。 このフラグは、SI_ADVANCED フラグも設定されている場合にのみ関連します。
SI_OBJECT_GUID
0x00010000L
を設定すると、SI_OBJECT_INFO構造体の guidObjectType メンバーが有効であることを示します。 これは、ACE が現在のオブジェクトに適用されるかどうかを判断する際に、オブジェクト固有の ACE と比較して設定されます。
SI_OWNER_ELEVATION_REQUIRED
0x04000000L
このフラグを設定すると、詳細な [所有者] ページの [編集] ボタンにシールドが表示されます。 NTFS オブジェクトの場合、このフラグは、ユーザーが WRITE_OWNER アクセス権を持っていない場合に要求されます。 このフラグは、所有者ページが要求された場合にのみ有効です。

Windows Server 2003 および Windows XP: このフラグはサポートされていません。

SI_OWNER_READONLY
0x00000040L
このフラグが設定されている場合、ユーザーはオブジェクトの所有者を変更できません。 SI_EDIT_OWNERが設定されているが、ユーザーに所有者を変更するアクセス許可がない場合は、このフラグを設定します。
SI_OWNER_RECURSE
0x00000100L
このフラグをSI_CONTAINERと組み合わせて、ユーザーが新しい所有者をすべての子オブジェクトと現在のオブジェクトに適用するかどうかを示すチェック ボックスを所有者ページに表示します。 アクセス制御エディターは再帰を実行しません。再帰は、 アプリケーションが ISecurityInformation::SetSecurity で実行する必要があります。
SI_PAGE_TITLE
0x00000800L
このフラグを設定すると、 pszPageTitle メンバーが基本的なセキュリティ プロパティ ページのタイトルとして使用されます。 それ以外の場合は、既定のタイトルが使用されます。
SI_PERMS_ELEVATION_REQUIRED
0x01000000L
このフラグを設定すると、シンプルで高度なアクセス許可ページの [編集] ボタンにシールドの画像が表示されます。 NTFS オブジェクトの場合、このフラグは、ユーザーが READ_CONTROL または WRITE_DAC アクセス権を持っていない場合に要求されます。

Windows Server 2003 および Windows XP: このフラグはサポートされていません。

SI_READONLY
0x00000008L
このフラグを設定すると、エディターはオブジェクトのセキュリティ情報を表示しますが、情報を編集するためのコントロールは無効になります。

このフラグを SI_VIEW_ONLY フラグと組み合わせることはできません。

SI_RESET
0x00000020L
このフラグを設定すると、[ 既定 ] ボタンが表示されます。 ユーザーがこのボタンをクリックすると、アクセス制御エディターは ISecurityInformation::GetSecurity メソッドを呼び出して、アプリケーション定義の既定のセキュリティ記述子を取得します。 アクセス制御エディターでは、このセキュリティ記述子を使用してプロパティ シートを再初期化し、ユーザーは変更またはキャンセルを適用できます。
SI_RESET_DACL
0x00040000L
設定すると、このフラグは [アクセス許可] ページの [既定値のリセット] ボタンを表示します。
SI_RESET_DACL_TREE
0x00004000L
このフラグを設定すると、[Access Controlの設定] ウィンドウの [権限] ページに [すべての子オブジェクトに対するアクセス許可をリセットし、継承可能なアクセス許可の伝達を有効にする] チェック ボックスが表示されます。 ユーザーが [適用] ボタンをクリックしたときにこのチェック ボックスが選択されている場合、SI_RESET_DACL_TREEを使用して ISecurityInformation::SetSecuritySecurityInformation パラメーターに対してビットごとの OR 操作が実行されます。 この関数はアクセス許可をリセットせず、継承可能なアクセス許可の伝達を有効にしません。 ISecurityInformation の 実装でこれを行う必要があります。
SI_RESET_OWNER
0x00100000L
このフラグを設定すると、[所有者] ページに [既定値のリセット] ボタンが表示されます。
SI_RESET_SACL
0x00080000L
設定すると、このフラグは [監査] ページの [既定値のリセット] ボタンを表示します。
SI_RESET_SACL_TREE
0x00008000L
このフラグを設定すると、すべての子オブジェクトの [監査エントリのリセット] が表示され、[Access Control設定] ウィンドウの [監査] ページチェック、継承可能な監査エントリの伝達が有効になります。 ユーザーが [適用] ボタンをクリックしたときにこのチェック ボックスが選択されている場合は、SI_RESET_SACL_TREEを使用して ISecurityInformation::SetSecuritySecurityInformation パラメーターに対してビットごとの OR 操作が実行されます。 この関数はアクセス許可をリセットせず、継承可能なアクセス許可の伝達を有効にしません。 ISecurityInformation の 実装でこれを行う必要があります。
SI_SCOPE_ELEVATION_REQUIRED
0x08000000L
このフラグを設定すると、スコープ属性の [変更 ] ボタンにシールドの画像が表示されます。 NTFS オブジェクトの場合、このフラグは、ユーザーがREAD_CONTROLまたはWRITE_DACアクセス権を持っていない場合に要求されます。 このフラグを設定するには、アクセス制御エディターのクライアントが ISecurityInformation4 インターフェイスを実装する必要があります。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。

SI_SERVER_IS_DC
0x00001000L
pszServerName コンピューターがドメイン コントローラーであることがわかっている場合は、このフラグを設定します。 このフラグを設定すると、[ ユーザーとグループの追加 ] ダイアログ ボックスのスコープ 一覧にドメイン名が含まれます。 それ以外の場合は、 pszServerName コンピューターを使用して、ダイアログ ボックスのスコープ 一覧が決定されます。
SI_VIEW_ONLY
0x00400000L
このフラグは、アクセス制御エディター のダイアログ ボックスの読み取り専用バージョンを表示するように、アクセス制御エディター クライアントによって設定されます。 これらのバージョンのダイアログ ボックスでは、関連付けられているオブジェクトの権限を編集できません。 アクセス制御エディターのクライアントは、このフラグを設定するために ISecurityInformation3 インターフェイスを実装する必要があります。

このフラグを SI_READONLY フラグと組み合わせることはできません。

Windows Server 2003 および Windows XP: このフラグはサポートされていません。

hInstance

プロパティ シートで使用する文字列リソースを含むモジュールを識別します。 ISecurityInformation::GetAccessRights メソッドと ISecurityInformation::GetInheritTypes メソッドでは、表示名の文字列リソース識別子を指定できます。

pszServerName

アカウント名と SID を検索するコンピューターに名前を付ける 、null で終わる Unicode 文字列へのポインター。 ローカル コンピューターを指定するには、この値に NULL を 指定できます。 アクセス制御エディターでは、このポインターは解放されません。

pszObjectName

編集中のオブジェクトに名前を付ける 、null で終わる Unicode 文字列へのポインター。 この名前は、高度なセキュリティ プロパティ シートのタイトルと、アクセス制御エディターによって表示されるエラー メッセージ ボックスに表示されます。 アクセス制御エディターでは、このポインターは解放されません。

pszPageTitle

基本的なセキュリティ プロパティ ページのタイトルとして使用される 、null で終わる Unicode 文字列へのポインター。 dwFlags で SI_PAGE_TITLE フラグが設定されていない限り、このメンバーは無視されます。 ページ タイトルが指定されていない場合は、既定のタイトルが使用されます。 アクセス制御エディターでは、このポインターは解放されません。

guidObjectType

オブジェクトの GUID。 dwFlags で SI_OBJECT_GUID フラグが設定されていない限り、このメンバーは無視されます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header aclui.h

こちらもご覧ください

ISecurityInformation

ISecurityInformation::GetAccessRights

ISecurityInformation::GetInheritTypes

ISecurityInformation::GetObjectInformation

ISecurityInformation::GetSecurity

ISecurityInformation::SetSecurity