Access Control エディター
アクセス制御エディターは、ユーザーがオブジェクトの セキュリティ記述子のコンポーネントを表示および変更できるようにするプロパティ シートとプロパティ ページのセットです。 エディターは、次の 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 メソッドを呼び出して、ユーザーの変更を含むセキュリティ記述子を渡します。