存取控制編輯器
存取控制編輯器是一組屬性工作表和屬性頁,可讓使用者檢視和修改物件 之安全性描述元的元件。 編輯器包含兩個主要部分:
- 基本安全性屬性頁,提供簡單的介面,可在物件的任意存取控制清單中編輯存取控制專案 (ACE) , (DACL) 。 此頁面可以包含選擇性的 [ 進階 ] 按鈕,以顯示進階安全性屬性工作表。
- 具有屬性頁的 進階安全性屬性工作表 ,可讓使用者編輯物件的 系統存取控制清單 (SACL) 、變更物件的擁有者,或執行物件的 DACL 進階編輯。
CreateSecurityPage函式會建立基本安全性屬性頁。 然後,您可以使用 PropertySheet 函式或 PSM_ADDPAGE 訊息,將此頁面新增至屬性工作表。
或者,您可以使用 EditSecurity 函式來顯示包含基本安全性屬性頁的屬性工作表。
針對 CreateSecurityPage 和 EditSecurity,呼叫端必須將指標傳遞至 ISecurityInformation 介面的實作。 存取控制編輯器會呼叫這個介面的方法,以擷取所編輯物件的存取控制資訊,並將使用者的輸入傳回您的應用程式。 ISecurityInformation方法有下列用途:
初始化屬性頁。
GetObjectInformation方法的實作會將SI_OBJECT_INFO結構傳遞至編輯器。 這個結構會指定您想要編輯器顯示的屬性頁,以及決定使用者可用的編輯選項的其他資訊。
提供正在編輯之物件的安全性資訊。
GetSecurity實作會將物件的初始安全性描述元傳遞至編輯器。 GetAccessRights和MapGeneric方法提供物件存取權限的相關資訊。 GetInheritTypes方法提供子物件如何繼承物件 ACE 的相關資訊。
將使用者的輸入傳回您的應用程式。
當使用者按一下 [確定 ] 或 [ 套用] 時,編輯器會呼叫 您的 SetSecurity 方法,以傳回包含使用者變更的安全性描述元。