アクセス制御エディター
アクセス制御エディターは、ユーザーがオブジェクトの セキュリティ記述子のコンポーネントを表示および変更できるようにするプロパティ シートとプロパティ ページのセットです。 エディターは、次の 2 つの主要な部分で構成されます。
- オブジェクトの の随意アクセス制御リスト (DACL) 内の アクセス制御エントリ (ACE) を編集するための簡単なインターフェイスを提供する、の基本的なセキュリティ プロパティ ページ。 このページには、セキュリティの詳細設定プロパティ シートを表示するオプション [詳細] ボタンを含めることができます。
- 高度なセキュリティ プロパティ シート、ユーザーがオブジェクトの システム アクセス制御リスト (SACL) を編集したり、オブジェクトの所有者を変更したり、オブジェクトの DACL の高度な編集を実行したりできるようにするプロパティ ページが含まれています。
CreateSecurityPage 関数は、基本的なセキュリティ プロパティ ページを作成します。 その後、PropertySheet 関数または PSM_ADDPAGE メッセージを使用して、このページをプロパティ シートに追加できます。
または、EditSecurity 関数を使用して、基本的なセキュリティ プロパティ ページを含むプロパティ シートを表示することもできます。
CreateSecurityPageと EditSecurity両方について、呼び出し元は、ISecurityInformation インターフェイスの実装へのポインターを渡す必要があります。 アクセス制御エディターは、このインターフェイスのメソッドを呼び出して、編集対象のオブジェクトに関するアクセス制御情報を取得し、ユーザーの入力をアプリケーションに渡します。 ISecurityInformation メソッドには、次の目的があります。
プロパティ ページを初期化します。
GetObjectInformation メソッドの実装では、SI_OBJECT_INFO 構造体がエディターに渡されます。 この構造体は、エディターに表示するプロパティ ページと、ユーザーが使用できる編集オプションを決定するその他の情報を指定します。
編集中のオブジェクトに関するセキュリティ情報を提供します。
GetSecurity 実装は、オブジェクトの初期 セキュリティ記述子 をエディターに渡します。 GetAccessRights および mapGenericメソッドは、オブジェクトのアクセス権に関する情報を提供します。 GetInheritTypes メソッドは、子オブジェクトによってオブジェクトの ACE を継承する方法に関する情報を提供します。
ユーザーの入力をアプリケーションに渡します。
ユーザーが Ok をクリックするか、の適用をすると、エディターは SetSecurity メソッドを呼び出して、ユーザーの変更を含むセキュリティ記述子を渡します。