低レベル ACL および ACE 関数
低レベル関数を使用して アクセス制御リスト (ACL) を作成するには、ACL のバッファーを割り当て、InitializeAcl 関数を呼び出して初期化します。 随意アクセス制御リスト (DACL) の末尾に アクセス制御エントリ (ACE) を追加するには、addAccessAllowedAceを使用し、AddAccessDeniedAce関数をします。 AddAuditAccessAce 関数は、システム アクセス制御リスト (SACL) の末尾に ACE を追加します。 AddAce 関数を使用して、ACL 内の指定した位置に 1 つ以上の ACE を追加できます。 AddAce 関数を使用すると、継承可能な ACE を ACL に追加することもできます。 DeleteAce 関数は、ACL 内の指定した位置から ACE を削除します。 GetAce 関数は、ACL 内の指定した位置から ACE を取得します。 FindFirstFreeAce 関数は、ACL 内の最初の空きバイトへのポインターを取得します。
オブジェクトの セキュリティ記述子の既存の ACL を変更するには、GetSecurityDescriptorDaclを使用するか、GetSecurityDescriptorSacl関数をして既存の ACL を取得します。 GetAce 関数を使用して、既存の ACL から ACE をコピーできます。 新しい ACL を割り当てて初期化した後、AddAccessAllowedAce や addAceなどの関数を使用して ACE を追加します。 新しい ACL の構築が完了したら、SetSecurityDescriptorDacl または SetSecurityDescriptorSacl関数使用して、新しい ACL をオブジェクトのセキュリティ記述子に追加します。
AddAccessAllowedObjectAce、addAccessDeniedObjectAce、または AddAuditAccessObjectAce関数使用して、オブジェクト固有の ACE ACL の末尾に追加できます。