Difference between revisions of "Unit Security"
| (6 intermediate revisions by the same user not shown) | |||
| Line 5: | Line 5: | ||
----  | ----  | ||
| − | '''Ultibo Security   | + | '''Ultibo Security Interface unit'''  | 
This unit implements the security support for Ultibo.  | This unit implements the security support for Ultibo.  | ||
| Line 20: | Line 20: | ||
| <code>ANYSIZE_ARRAY = 1;</code>  | | <code>ANYSIZE_ARRAY = 1;</code>  | ||
| style="width: 50%;"|   | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''SID''' <code> SID_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>SID_REVISION = 1;</code>  | ||
| + | | Current revision level  | ||
| + | |-  | ||
| + | | <code>SID_MAX_SUB_AUTHORITIES = 15;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SID_RECOMMENDED_SUB_AUTHORITIES = 1;</code>  | ||
| + | | Will change to around 6 in a future release  | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_MIN_SID_SIZE = SizeOf(SID) - SizeOf(DWORD);</code>  | ||
| + | | Account for SubAuthority[0]  | ||
| + | |-  | ||
| + | | <code>SECURITY_MAX_SID_SIZE = SizeOf(SID) - SizeOf(DWORD) + (SID_MAX_SUB_AUTHORITIES * SizeOf(DWORD));</code>  | ||
| + | | Account for SubAuthority[0]  | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SidTypeUser = 1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeGroup = 2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeDomain = 3;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeAlias = 4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeWellKnownGroup = 5;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeDeletedAccount = 6;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeInvalid = 7;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeUnknown = 8;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidTypeComputer = 9;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />   | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''ACL''' <code> ACL_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>ACL_REVISION = 2;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>ACL_REVISION_DS = 4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>ACL_REVISION1 = 1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACL_REVISION2 = 2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>MIN_ACL_REVISION = ACL_REVISION2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACL_REVISION3 = 3;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACL_REVISION4 = 4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>MAX_ACL_REVISION = ACL_REVISION4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>AclRevisionInformation = 1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>AclSizeInformation = 2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''ACE''' <code> ACE_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | |colspan="2"|The following are the predefined ace types that go into the AceType field of an Ace header  | ||
| + | |-  | ||
| + | | <code>ACCESS_MIN_MS_ACE_TYPE = $0;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>ACCESS_ALLOWED_ACE_TYPE = $0;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_DENIED_ACE_TYPE = $1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_AUDIT_ACE_TYPE = $2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_ALARM_ACE_TYPE = $3;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_MAX_MS_V2_ACE_TYPE = $3;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>ACCESS_ALLOWED_COMPOUND_ACE_TYPE = $4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_MAX_MS_V3_ACE_TYPE = $4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>ACCESS_MIN_MS_OBJECT_ACE_TYPE = $5;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_ALLOWED_OBJECT_ACE_TYPE = $5;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_DENIED_OBJECT_ACE_TYPE = $6;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_AUDIT_OBJECT_ACE_TYPE = $7;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_ALARM_OBJECT_ACE_TYPE = $8;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_MAX_MS_OBJECT_ACE_TYPE = $8;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>ACCESS_MAX_MS_V4_ACE_TYPE = $8;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_MAX_MS_ACE_TYPE = $8;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>ACCESS_ALLOWED_CALLBACK_ACE_TYPE = $9;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_DENIED_CALLBACK_ACE_TYPE = $A;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = $B;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = $C;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_AUDIT_CALLBACK_ACE_TYPE = $D;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_ALARM_CALLBACK_ACE_TYPE = $E;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = $F;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = $10;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>ACCESS_MAX_MS_V5_ACE_TYPE = $10;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | |colspan="2"|The following are the inherit flags that go into the AceFlags field of an Ace header  | ||
| + | |-  | ||
| + | | <code>OBJECT_INHERIT_ACE = $1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>CONTAINER_INHERIT_ACE = $2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>NO_PROPAGATE_INHERIT_ACE = $4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>INHERIT_ONLY_ACE = $8;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>INHERITED_ACE = $10;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>VALID_INHERIT_FLAGS = $1F;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | |colspan="2"|The following are the currently defined ACE flags that go into the AceFlags field of an ACE header. Each ACE type has its own set of AceFlags.  | ||
| + | |-  | ||
| + | |colspan="2"|SYSTEM_AUDIT and SYSTEM_ALARM AceFlags  | ||
| + | |-  | ||
| + | | <code>SUCCESSFUL_ACCESS_ACE_FLAG = $40;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>FAILED_ACCESS_ACE_FLAG = $80;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | |colspan="2"|Currently defined Flags for "OBJECT" ACE types  | ||
| + | |-  | ||
| + | | <code>ACE_OBJECT_TYPE_PRESENT = $1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ACE_INHERITED_OBJECT_TYPE_PRESENT = $2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Security descriptor''' <code> SECURITY_DESCRIPTOR_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>SECURITY_DESCRIPTOR_REVISION = 1;</code>  | ||
| + | | Current security descriptor revision value  | ||
| + | |-  | ||
| + | | <code>SECURITY_DESCRIPTOR_REVISION1 = 1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SE_OWNER_DEFAULTED = $0001;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_GROUP_DEFAULTED = $0002;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_DACL_PRESENT = $0004;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_DACL_DEFAULTED = $0008;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_SACL_PRESENT = $0010;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_SACL_DEFAULTED = $0020;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_DACL_AUTO_INHERIT_REQ = $0100;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_SACL_AUTO_INHERIT_REQ = $0200;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_DACL_AUTO_INHERITED = $0400;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_SACL_AUTO_INHERITED = $0800;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_DACL_PROTECTED = $1000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_SACL_PROTECTED = $2000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_RM_CONTROL_VALID = $4000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_SELF_RELATIVE = $8000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />  | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Universal well-known SIDs''' <code> SECURITY_NULL_SID_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>SECURITY_NULL_SID_IDENTIFIER = 0;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_WORLD_SID_IDENTIFIER = 1;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_LOCAL_SID_IDENTIFIER = 2;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_CREATOR_SID_IDENTIFIER = 3;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_NON_UNIQUE_IDENTIFIER = 4;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_RESOURCE_MANAGER_IDENTIFIER = 9;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_NULL_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 0));</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_WORLD_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 1));</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_LOCAL_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 2));</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_CREATOR_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 3));</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_NON_UNIQUE_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 4));</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_RESOURCE_MANAGER_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 9));</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_NULL_RID = $00000000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_WORLD_RID = $00000000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_LOCAL_RID = $00000000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_CREATOR_OWNER_RID = $00000000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_CREATOR_GROUP_RID = $00000001;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_CREATOR_OWNER_SERVER_RID = $00000002;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_CREATOR_GROUP_SERVER_RID = $00000003;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />   | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''NT well-known SIDs''' <code> SECURITY_NT_IDENTIFIER* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>SECURITY_NT_IDENTIFIER = 5;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5));</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_DIALUP_RID = $00000001;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_NETWORK_RID = $00000002;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_BATCH_RID = $00000003;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_INTERACTIVE_RID = $00000004;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_SERVICE_RID = $00000006;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_ANONYMOUS_LOGON_RID = $00000007;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_PROXY_RID = $00000008;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_ENTERPRISE_CONTROLLERS_RID = $00000009;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_PRINCIPAL_SELF_RID = $0000000A;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_AUTHENTICATED_USER_RID = $0000000B;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_RESTRICTED_CODE_RID = $0000000C;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_TERMINAL_SERVER_RID = $0000000D;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_REMOTE_LOGON_RID = $0000000E;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>SECURITY_LOGON_IDS_RID = $00000005;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_LOGON_IDS_RID_COUNT = 3;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_LOCAL_SYSTEM_RID = $00000012;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_LOCAL_SERVICE_RID = $00000013;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_NETWORK_SERVICE_RID = $00000014;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_NT_NON_UNIQUE = $00000015;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT = 3;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SECURITY_BUILTIN_DOMAIN_RID = $00000020;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />   | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Well-known users''' <code> _USER_RID_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>DOMAIN_USER_RID_ADMIN = $000001F4;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>DOMAIN_USER_RID_GUEST = $000001F5;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_USER_RID_KRBTGT = $000001F6;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />   | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Well-known groups''' <code> _GROUP_RID_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_ADMINS = $00000200;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_USERS = $00000201;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_GUESTS = $00000202;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_COMPUTERS = $00000203;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_CONTROLLERS = $00000204;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_CERT_ADMINS = $00000205;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_SCHEMA_ADMINS = $00000206;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = $00000207;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_GROUP_RID_POLICY_ADMINS = $00000208;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />   | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Well-known aliases''' <code> _ALIAS_RID_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_ADMINS = $00000220;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_USERS = $00000221;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_GUESTS = $00000222;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_POWER_USERS = $00000223;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_ACCOUNT_OPS = $00000224;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_SYSTEM_OPS = $00000225;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_PRINT_OPS = $00000226;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_BACKUP_OPS = $00000227;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_REPLICATOR = $00000228;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_RAS_SERVERS = $00000229;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = $0000022A;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = $0000022B;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = $0000022C;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | <br />   | ||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">  | ||
| + | <div style="font-size: 14px; padding-left: 12px;">'''Group attributes''' <code> _GROUP_* </code></div>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>SE_GROUP_MANDATORY = $00000001;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>SE_GROUP_ENABLED_BY_DEFAULT = $00000002;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_GROUP_ENABLED = $00000004;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_GROUP_OWNER = $00000008;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_GROUP_USE_FOR_DENY_ONLY = $00000010;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_GROUP_LOGON_ID = $C0000000;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SE_GROUP_RESOURCE = $20000000;</code>  | ||
| + | |    | ||
|-  | |-  | ||
|}  | |}  | ||
| Line 28: | Line 612: | ||
----  | ----  | ||
| − | ''  | + | |
| + | '''SID identifier authority'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY;</code>  | ||
| + | |||
| + | <code>TSidIdentifierAuthority = SID_IDENTIFIER_AUTHORITY;</code>  | ||
| + | |||
| + | <code>PSidIdentifierAuthority = PSID_IDENTIFIER_AUTHORITY;</code>  | ||
| + | |||
| + | <code>PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;</code>  | ||
| + | |||
| + | <code>_SID_IDENTIFIER_AUTHORITY = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Value: array [0..5] of Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | |||
| + | '''SID types'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SID = _SID;</code>  | ||
| + | |||
| + | <code>PPSID = ^PSID;</code>  | ||
| + | |||
| + | <code>TSid = SID;</code>  | ||
| + | |||
| + | <code>PSid = ^SID;</code>  | ||
| + | |||
| + | <code>_SID = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Revision: Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>SubAuthorityCount: Byte;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>IdentifierAuthority: SID_IDENTIFIER_AUTHORITY;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SubAuthority: array [0..ANYSIZE_ARRAY - 1] of DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | |||
| + | '''Signed types'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>BOOL = LongBool;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | '''Unsigned types'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>UCHAR = Byte;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | '''Pointer types'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>PUCHAR = ^Byte;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}   | ||
| + | |||
| + | '''GUID types'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>GUID = TGUID;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | '''SID name use'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>_SID_NAME_USE = DWORD;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>SID_NAME_USE = _SID_NAME_USE;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PSID_NAME_USE = ^SID_NAME_USE;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>TSidNameUse = SID_NAME_USE;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PSidNameUse = PSID_NAME_USE;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}   | ||
| + | |||
| + | '''SID and attributes'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES;</code>  | ||
| + | |||
| + | <code>TSidAndAttributes = SID_AND_ATTRIBUTES;</code>  | ||
| + | |||
| + | <code>PSidAndAttributes = PSID_AND_ATTRIBUTES;</code>  | ||
| + | |||
| + | <code>PSID_AND_ATTRIBUTES = ^SID_AND_ATTRIBUTES;</code>  | ||
| + | |||
| + | <code>_SID_AND_ATTRIBUTES = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Sid: PSID;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Attributes: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''SID and attributes array'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>SID_AND_ATTRIBUTES_ARRAY = array [0..ANYSIZE_ARRAY - 1] of SID_AND_ATTRIBUTES;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PSID_AND_ATTRIBUTES_ARRAY = ^SID_AND_ATTRIBUTES_ARRAY;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PSidAndAttributesArray = ^TSidAndAttributesArray;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>TSidAndAttributesArray = SID_AND_ATTRIBUTES_ARRAY;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | '''ACL'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACL = _ACL;</code>  | ||
| + | |||
| + | <code>TAcl = ACL;</code>  | ||
| + | |||
| + | <code>PPACL = ^PACL;</code>  | ||
| + | |||
| + | <code>PACL = ^ACL;</code>  | ||
| + | |||
| + | <code>_ACL = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>AclRevision: Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Sbz1: Byte;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>AclSize: Word;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>AceCount: Word;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Sbz2: Word;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | |||
| + | '''ACL information class'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>_ACL_INFORMATION_CLASS = DWORD;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>ACL_INFORMATION_CLASS = _ACL_INFORMATION_CLASS;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>TAclInformationClass = ACL_INFORMATION_CLASS;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}   | ||
| + | |||
| + | '''ACL revision information'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACL_REVISION_INFORMATION = _ACL_REVISION_INFORMATION;</code>  | ||
| + | |||
| + | <code>TAclRevisionInformation = ACL_REVISION_INFORMATION;</code>  | ||
| + | |||
| + | <code>PAclRevisionInformation = PACL_REVISION_INFORMATION;</code>  | ||
| + | |||
| + | <code>PACL_REVISION_INFORMATION = ^ACL_REVISION_INFORMATION;</code>  | ||
| + | |||
| + | <code>_ACL_REVISION_INFORMATION = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | |colspan="2"|Note: This record is returned/sent if the user is requesting/setting the AclRevisionInformation  | ||
| + | |-  | ||
| + | | <code>AclRevision: DWORD;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''ACL size information'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACL_SIZE_INFORMATION = _ACL_SIZE_INFORMATION;</code>  | ||
| + | |||
| + | <code>TAclSizeInformation = ACL_SIZE_INFORMATION;</code>  | ||
| + | |||
| + | <code>PAclSizeInformation = PACL_SIZE_INFORMATION;</code>  | ||
| + | |||
| + | <code>PACL_SIZE_INFORMATION = ^ACL_SIZE_INFORMATION;</code>  | ||
| + | |||
| + | <code>_ACL_SIZE_INFORMATION = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | |colspan="2"|Note: This record is returned if the user is requesting AclSizeInformation  | ||
| + | |-  | ||
| + | | <code>AceCount: DWORD;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>AclBytesInUse: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>AclBytesFree: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''Access mask'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>ACCESS_MASK = DWORD;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PACCESS_MASK = ^ACCESS_MASK;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>TAccessMask = ACCESS_MASK;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PAccessMask = PACCESS_MASK;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | '''ACE header'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACE_HEADER = _ACE_HEADER;</code>  | ||
| + | |||
| + | <code>TAceHeader = ACE_HEADER;</code>  | ||
| + | |||
| + | <code>PAceHeader = PACE_HEADER;</code>  | ||
| + | |||
| + | <code>PACE_HEADER = ^ACE_HEADER;</code>  | ||
| + | |||
| + | <code>_ACE_HEADER = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>AceType: Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>AceFlags: Byte;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>AceSize: Word;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''Access allowed'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE;</code>  | ||
| + | |||
| + | <code>TAccessAllowedAce = ACCESS_ALLOWED_ACE;</code>  | ||
| + | |||
| + | <code>PAccessAllowedAce = PACCESS_ALLOWED_ACE;</code>  | ||
| + | |||
| + | <code>PACCESS_ALLOWED_ACE = ^ACCESS_ALLOWED_ACE;</code>  | ||
| + | |||
| + | <code>_ACCESS_ALLOWED_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''Access denied'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE;</code>  | ||
| + | |||
| + | <code>TAccessDeniedAce = ACCESS_DENIED_ACE;</code>  | ||
| + | |||
| + | <code>PAccessDeniedAce = PACCESS_DENIED_ACE;</code>  | ||
| + | |||
| + | <code>PACCESS_DENIED_ACE = ^ACCESS_DENIED_ACE;</code>  | ||
| + | |||
| + | <code>_ACCESS_DENIED_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''System audit'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SYSTEM_AUDIT_ACE = _SYSTEM_AUDIT_ACE;</code>  | ||
| + | |||
| + | <code>TSystemAuditAce = SYSTEM_AUDIT_ACE;</code>  | ||
| + | |||
| + | <code>PSystemAuditAce = PSYSTEM_AUDIT_ACE;</code>  | ||
| + | |||
| + | <code>PSYSTEM_AUDIT_ACE = ^SYSTEM_AUDIT_ACE;</code>  | ||
| + | |||
| + | <code>_SYSTEM_AUDIT_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | |||
| + | '''System alarm'''     | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SYSTEM_ALARM_ACE = _SYSTEM_ALARM_ACE;</code>  | ||
| + | |||
| + | <code>TSystemAlarmAce = SYSTEM_ALARM_ACE;</code>  | ||
| + | |||
| + | <code>PSystemAlarmAce = PSYSTEM_ALARM_ACE;</code>  | ||
| + | |||
| + | <code>PSYSTEM_ALARM_ACE = ^SYSTEM_ALARM_ACE;</code>  | ||
| + | |||
| + | <code>_SYSTEM_ALARM_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''Access allowed object'''   | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>TAccessAllowedObjectAce = ACCESS_ALLOWED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PAccessAllowedObjectAce = PACCESS_ALLOWED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PACCESS_ALLOWED_OBJECT_ACE = ^ACCESS_ALLOWED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>_ACCESS_ALLOWED_OBJECT_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Flags: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>InheritedObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''Access denied object'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>TAccessDeniedObjectAce = ACCESS_DENIED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PAccessDeniedObjectAce = PACCESS_DENIED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PACCESS_DENIED_OBJECT_ACE = ^ACCESS_DENIED_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>_ACCESS_DENIED_OBJECT_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Flags: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>InheritedObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''System audit object'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SYSTEM_AUDIT_OBJECT_ACE = _SYSTEM_AUDIT_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>TSystemAuditObjectAce = SYSTEM_AUDIT_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PSystemAuditObjectAce = PSYSTEM_AUDIT_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PSYSTEM_AUDIT_OBJECT_ACE = ^SYSTEM_AUDIT_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>_SYSTEM_AUDIT_OBJECT_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Flags: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>InheritedObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''System alarm object'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SYSTEM_ALARM_OBJECT_ACE = _SYSTEM_ALARM_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>TSystemAlarmObjectAce = SYSTEM_ALARM_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PSystemAlarmObjectAce = PSYSTEM_ALARM_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>PSYSTEM_ALARM_OBJECT_ACE = ^SYSTEM_ALARM_OBJECT_ACE;</code>  | ||
| + | |||
| + | <code>_SYSTEM_ALARM_OBJECT_ACE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Header: ACE_HEADER;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Mask: ACCESS_MASK;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Flags: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>ObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>InheritedObjectType: GUID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SidStart: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | |||
| + | '''Security descriptor control'''  | ||
| + | |||
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"  | ||
| + | |-  | ||
| + | | <code>SECURITY_DESCRIPTOR_CONTROL = WORD;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PSECURITY_DESCRIPTOR_CONTROL = ^SECURITY_DESCRIPTOR_CONTROL;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>TSecurityDescriptorControl = SECURITY_DESCRIPTOR_CONTROL;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | | <code>PSecurityDescriptorControl = PSECURITY_DESCRIPTOR_CONTROL;</code>  | ||
| + | | style="width: 40%;"|  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | '''Security descriptor relative'''   | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SECURITY_DESCRIPTOR_RELATIVE = _SECURITY_DESCRIPTOR_RELATIVE;</code>  | ||
| + | |||
| + | <code>TSecurityDescriptorRelative = SECURITY_DESCRIPTOR_RELATIVE;</code>  | ||
| + | |||
| + | <code>PSecurityDescriptorRelative = PSECURITY_DESCRIPTOR_RELATIVE;</code>  | ||
| + | |||
| + | <code>PSECURITY_DESCRIPTOR_RELATIVE = ^SECURITY_DESCRIPTOR_RELATIVE;</code>  | ||
| + | |||
| + | <code>_SECURITY_DESCRIPTOR_RELATIVE = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Revision: Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Sbz1: Byte;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Control: SECURITY_DESCRIPTOR_CONTROL;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Owner: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Group: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Sacl: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Dacl: DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''Security descriptor'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>SECURITY_DESCRIPTOR = _SECURITY_DESCRIPTOR;</code>  | ||
| + | |||
| + | <code>TSecurityDescriptor = SECURITY_DESCRIPTOR;</code>  | ||
| + | |||
| + | <code>PSecurityDescriptor = PSECURITY_DESCRIPTOR;</code>  | ||
| + | |||
| + | <code>PPSECURITY_DESCRIPTOR = ^PSECURITY_DESCRIPTOR;</code>  | ||
| + | |||
| + | <code>PSECURITY_DESCRIPTOR = ^SECURITY_DESCRIPTOR;</code>  | ||
| + | |||
| + | <code>_SECURITY_DESCRIPTOR = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>Revision: Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>Sbz1: Byte;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Control: SECURITY_DESCRIPTOR_CONTROL;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Owner: PSID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Group: PSID;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Sacl: PACL;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Dacl: PACL;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>     | ||
| + | |||
| + | '''Well known SID type'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | |||
| + | <code>WELL_KNOWN_SID_TYPE = (</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>WinNullSid,</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>WinWorldSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinLocalSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinCreatorOwnerSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinCreatorGroupSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinCreatorOwnerServerSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinCreatorGroupServerSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinNtAuthoritySid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinDialupSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinNetworkSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBatchSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinInteractiveSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinServiceSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAnonymousSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinProxySid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinEnterpriseControllersSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinSelfSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAuthenticatedUserSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinRestrictedCodeSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinTerminalServerSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinRemoteLogonIdSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinLogonIdsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinLocalSystemSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinLocalServiceSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinNetworkServiceSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinDomainSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinAdministratorsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinUsersSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinGuestsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinPowerUsersSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinAccountOperatorsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinSystemOperatorsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinPrintOperatorsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinBackupOperatorsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinReplicatorSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinPreWindows2000CompatibleAccessSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinRemoteDesktopUsersSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinBuiltinNetworkConfigurationOperatorsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountAdministratorSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountGuestSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountKrbtgtSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountDomainAdminsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountDomainUsersSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountDomainGuestsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountComputersSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountControllersSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountCertAdminsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountSchemaAdminsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountEnterpriseAdminsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountPolicyAdminsSid,</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>WinAccountRasAndIasServersSid);</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>TWellKnownSidType = WELL_KNOWN_SID_TYPE;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>  | ||
| + | |||
| + | '''Well known SID'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>PWellKnownSid = ^TWellKnownSid;</code>  | ||
| + | |||
| + | <code>TWellKnownSid = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | | <code>SidHeader:TSID;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>SubAuthorities:array[0..5] of DWORD;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>    | ||
| + | |||
| + | '''Well known ACE'''   | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | |||
| + | <code>TWellKnownAce = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | |colspan="2"|Note: Not Packed (Descriptor Ace defaults)  | ||
| + | |-  | ||
| + | | <code>AceType:Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>AceFlags:Byte;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>AceSize:Word;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Mask:LongWord;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Sid:TWellKnownSidType;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>    | ||
| + | |||
| + | '''Well known ACL'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | |||
| + | <code>TWellKnownAcl = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | |colspan="2"|Note: Not Packed (Descriptor Acl defaults)  | ||
| + | |-  | ||
| + | | <code>AclRevision:Byte;</code>  | ||
| + | | style="width: 50%;"|   | ||
| + | |-  | ||
| + | | <code>AclSize:Word;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>AceCount:Word;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Aces:array[0..7] of TWellKnownAce;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>    | ||
| + | |||
| + | '''Well known descriptor'''  | ||
| + | |||
| + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">  | ||
| + | <code>PWellKnownDescriptor = ^TWellKnownDescriptor;</code>  | ||
| + | |||
| + | <code>TWellKnownDescriptor = record</code>  | ||
| + | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">  | ||
| + | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
| + | |-  | ||
| + | |colspan="2"|Note: Not Packed (Descriptor defaults)  | ||
| + | |-  | ||
| + | | <code>Size:LongWord;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Revision:Byte;</code>  | ||
| + | | Revision  | ||
| + | |-  | ||
| + | | <code>Control:Word;</code>  | ||
| + | | Control Flags  | ||
| + | |-  | ||
| + | | <code>OwnerOffset:LongWord;</code>  | ||
| + | | Offset to Owner SID  | ||
| + | |-  | ||
| + | | <code>GroupOffset:LongWord;</code>  | ||
| + | | Offset to Group SID  | ||
| + | |-  | ||
| + | | <code>SaclOffset:LongWord;</code>  | ||
| + | | Offset to SACL  | ||
| + | |-  | ||
| + | | <code>DaclOffset:LongWord;</code>  | ||
| + | | Offset to DACL  | ||
| + | |-  | ||
| + | | <code>Owner:TWellKnownSidType;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Group:TWellKnownSidType;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Sacl:TWellKnownAcl;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>Dacl:TWellKnownAcl;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </div></div>    | ||
| + | <br />  | ||
=== Public variables ===  | === Public variables ===  | ||
----  | ----  | ||
| − | ''  | + | ''None defined''  | 
=== Function declarations ===  | === Function declarations ===  | ||
| Line 39: | Line 1,553: | ||
| − | '''Security   | + | '''Security functions'''  | 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">  | ||
| Line 47: | Line 1,561: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 59: | Line 1,573: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 71: | Line 1,585: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 83: | Line 1,597: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 95: | Line 1,609: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 107: | Line 1,621: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 119: | Line 1,633: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 131: | Line 1,645: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 143: | Line 1,657: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 155: | Line 1,669: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 167: | Line 1,681: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 179: | Line 1,693: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 191: | Line 1,705: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 203: | Line 1,717: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 215: | Line 1,729: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 227: | Line 1,741: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 239: | Line 1,753: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 251: | Line 1,765: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 263: | Line 1,777: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 275: | Line 1,789: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 287: | Line 1,801: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 299: | Line 1,813: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 311: | Line 1,825: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 323: | Line 1,837: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 335: | Line 1,849: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 347: | Line 1,861: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 359: | Line 1,873: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 371: | Line 1,885: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 383: | Line 1,897: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 395: | Line 1,909: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 407: | Line 1,921: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 419: | Line 1,933: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 431: | Line 1,945: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 443: | Line 1,957: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 455: | Line 1,969: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 467: | Line 1,981: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 479: | Line 1,993: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 491: | Line 2,005: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 503: | Line 2,017: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 515: | Line 2,029: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 527: | Line 2,041: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 539: | Line 2,053: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 551: | Line 2,065: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 563: | Line 2,077: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 575: | Line 2,089: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 587: | Line 2,101: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 599: | Line 2,113: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 611: | Line 2,125: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 623: | Line 2,137: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 638: | Line 2,152: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 650: | Line 2,164: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 662: | Line 2,176: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 674: | Line 2,188: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 686: | Line 2,200: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 698: | Line 2,212: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 710: | Line 2,224: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 722: | Line 2,236: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 734: | Line 2,248: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
| Line 746: | Line 2,260: | ||
{| class="wikitable" style="font-size: 14px; background: white;"  | {| class="wikitable" style="font-size: 14px; background: white;"  | ||
|-  | |-  | ||
| − | !   | + | ! Note  | 
| None documented  | | None documented  | ||
|-  | |-  | ||
Latest revision as of 04:43, 31 August 2021
Return to Unit Reference
Description
Ultibo Security Interface unit
This unit implements the security support for Ultibo.
Constants
 ANYSIZE_*  ANYSIZE_ARRAY = 1;
 | 
 SID_*  SID_REVISION = 1;
 | 
Current revision level | 
 SID_MAX_SUB_AUTHORITIES = 15;
 | 
|
 SID_RECOMMENDED_SUB_AUTHORITIES = 1;
 | 
Will change to around 6 in a future release | 
 SECURITY_MIN_SID_SIZE = SizeOf(SID) - SizeOf(DWORD);
 | 
Account for SubAuthority[0] | 
 SECURITY_MAX_SID_SIZE = SizeOf(SID) - SizeOf(DWORD) + (SID_MAX_SUB_AUTHORITIES * SizeOf(DWORD));
 | 
Account for SubAuthority[0] | 
 SidTypeUser = 1;
 | 
|
 SidTypeGroup = 2;
 | 
|
 SidTypeDomain = 3;
 | 
|
 SidTypeAlias = 4;
 | 
|
 SidTypeWellKnownGroup = 5;
 | 
|
 SidTypeDeletedAccount = 6;
 | 
|
 SidTypeInvalid = 7;
 | 
|
 SidTypeUnknown = 8;
 | 
|
 SidTypeComputer = 9;
 | 
|
 
 ACL_*  ACL_REVISION = 2;
 | 
|
 ACL_REVISION_DS = 4;
 | 
|
 ACL_REVISION1 = 1;
 | 
|
 ACL_REVISION2 = 2;
 | 
|
 MIN_ACL_REVISION = ACL_REVISION2;
 | 
|
 ACL_REVISION3 = 3;
 | 
|
 ACL_REVISION4 = 4;
 | 
|
 MAX_ACL_REVISION = ACL_REVISION4;
 | 
|
 AclRevisionInformation = 1;
 | 
|
 AclSizeInformation = 2;
 | 
|
 ACE_* | The following are the predefined ace types that go into the AceType field of an Ace header | |
 ACCESS_MIN_MS_ACE_TYPE = $0;
 | 
|
 ACCESS_ALLOWED_ACE_TYPE = $0;
 | 
|
 ACCESS_DENIED_ACE_TYPE = $1;
 | 
|
 SYSTEM_AUDIT_ACE_TYPE = $2;
 | 
|
 SYSTEM_ALARM_ACE_TYPE = $3;
 | 
|
 ACCESS_MAX_MS_V2_ACE_TYPE = $3;
 | 
|
 ACCESS_ALLOWED_COMPOUND_ACE_TYPE = $4;
 | 
|
 ACCESS_MAX_MS_V3_ACE_TYPE = $4;
 | 
|
 ACCESS_MIN_MS_OBJECT_ACE_TYPE = $5;
 | 
|
 ACCESS_ALLOWED_OBJECT_ACE_TYPE = $5;
 | 
|
 ACCESS_DENIED_OBJECT_ACE_TYPE = $6;
 | 
|
 SYSTEM_AUDIT_OBJECT_ACE_TYPE = $7;
 | 
|
 SYSTEM_ALARM_OBJECT_ACE_TYPE = $8;
 | 
|
 ACCESS_MAX_MS_OBJECT_ACE_TYPE = $8;
 | 
|
 ACCESS_MAX_MS_V4_ACE_TYPE = $8;
 | 
|
 ACCESS_MAX_MS_ACE_TYPE = $8;
 | 
|
 ACCESS_ALLOWED_CALLBACK_ACE_TYPE = $9;
 | 
|
 ACCESS_DENIED_CALLBACK_ACE_TYPE = $A;
 | 
|
 ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = $B;
 | 
|
 ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = $C;
 | 
|
 SYSTEM_AUDIT_CALLBACK_ACE_TYPE = $D;
 | 
|
 SYSTEM_ALARM_CALLBACK_ACE_TYPE = $E;
 | 
|
 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = $F;
 | 
|
 SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = $10;
 | 
|
 ACCESS_MAX_MS_V5_ACE_TYPE = $10;
 | 
|
| The following are the inherit flags that go into the AceFlags field of an Ace header | |
 OBJECT_INHERIT_ACE = $1;
 | 
|
 CONTAINER_INHERIT_ACE = $2;
 | 
|
 NO_PROPAGATE_INHERIT_ACE = $4;
 | 
|
 INHERIT_ONLY_ACE = $8;
 | 
|
 INHERITED_ACE = $10;
 | 
|
 VALID_INHERIT_FLAGS = $1F;
 | 
|
| The following are the currently defined ACE flags that go into the AceFlags field of an ACE header. Each ACE type has its own set of AceFlags. | |
| SYSTEM_AUDIT and SYSTEM_ALARM AceFlags | |
 SUCCESSFUL_ACCESS_ACE_FLAG = $40;
 | 
|
 FAILED_ACCESS_ACE_FLAG = $80;
 | 
|
| Currently defined Flags for "OBJECT" ACE types | |
 ACE_OBJECT_TYPE_PRESENT = $1;
 | 
|
 ACE_INHERITED_OBJECT_TYPE_PRESENT = $2;
 | 
|
 SECURITY_DESCRIPTOR_*  SECURITY_DESCRIPTOR_REVISION = 1;
 | 
Current security descriptor revision value | 
 SECURITY_DESCRIPTOR_REVISION1 = 1;
 | 
|
 SE_OWNER_DEFAULTED = $0001;
 | 
|
 SE_GROUP_DEFAULTED = $0002;
 | 
|
 SE_DACL_PRESENT = $0004;
 | 
|
 SE_DACL_DEFAULTED = $0008;
 | 
|
 SE_SACL_PRESENT = $0010;
 | 
|
 SE_SACL_DEFAULTED = $0020;
 | 
|
 SE_DACL_AUTO_INHERIT_REQ = $0100;
 | 
|
 SE_SACL_AUTO_INHERIT_REQ = $0200;
 | 
|
 SE_DACL_AUTO_INHERITED = $0400;
 | 
|
 SE_SACL_AUTO_INHERITED = $0800;
 | 
|
 SE_DACL_PROTECTED = $1000;
 | 
|
 SE_SACL_PROTECTED = $2000;
 | 
|
 SE_RM_CONTROL_VALID = $4000;
 | 
|
 SE_SELF_RELATIVE = $8000;
 | 
|
 SECURITY_NULL_SID_*  SECURITY_NULL_SID_IDENTIFIER = 0;
 | 
|
 SECURITY_WORLD_SID_IDENTIFIER = 1;
 | 
|
 SECURITY_LOCAL_SID_IDENTIFIER = 2;
 | 
|
 SECURITY_CREATOR_SID_IDENTIFIER = 3;
 | 
|
 SECURITY_NON_UNIQUE_IDENTIFIER = 4;
 | 
|
 SECURITY_RESOURCE_MANAGER_IDENTIFIER = 9;
 | 
|
 SECURITY_NULL_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 0));
 | 
|
 SECURITY_WORLD_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 1));
 | 
|
 SECURITY_LOCAL_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 2));
 | 
|
 SECURITY_CREATOR_SID_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 3));
 | 
|
 SECURITY_NON_UNIQUE_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 4));
 | 
|
 SECURITY_RESOURCE_MANAGER_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 9));
 | 
|
 SECURITY_NULL_RID = $00000000;
 | 
|
 SECURITY_WORLD_RID = $00000000;
 | 
|
 SECURITY_LOCAL_RID = $00000000;
 | 
|
 SECURITY_CREATOR_OWNER_RID = $00000000;
 | 
|
 SECURITY_CREATOR_GROUP_RID = $00000001;
 | 
|
 SECURITY_CREATOR_OWNER_SERVER_RID = $00000002;
 | 
|
 SECURITY_CREATOR_GROUP_SERVER_RID = $00000003;
 | 
|
 
 SECURITY_NT_IDENTIFIER*  SECURITY_NT_IDENTIFIER = 5;
 | 
|
 SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5));
 | 
|
 SECURITY_DIALUP_RID = $00000001;
 | 
|
 SECURITY_NETWORK_RID = $00000002;
 | 
|
 SECURITY_BATCH_RID = $00000003;
 | 
|
 SECURITY_INTERACTIVE_RID = $00000004;
 | 
|
 SECURITY_SERVICE_RID = $00000006;
 | 
|
 SECURITY_ANONYMOUS_LOGON_RID = $00000007;
 | 
|
 SECURITY_PROXY_RID = $00000008;
 | 
|
 SECURITY_ENTERPRISE_CONTROLLERS_RID = $00000009;
 | 
|
 SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID;
 | 
|
 SECURITY_PRINCIPAL_SELF_RID = $0000000A;
 | 
|
 SECURITY_AUTHENTICATED_USER_RID = $0000000B;
 | 
|
 SECURITY_RESTRICTED_CODE_RID = $0000000C;
 | 
|
 SECURITY_TERMINAL_SERVER_RID = $0000000D;
 | 
|
 SECURITY_REMOTE_LOGON_RID = $0000000E;
 | 
|
 SECURITY_LOGON_IDS_RID = $00000005;
 | 
|
 SECURITY_LOGON_IDS_RID_COUNT = 3;
 | 
|
 SECURITY_LOCAL_SYSTEM_RID = $00000012;
 | 
|
 SECURITY_LOCAL_SERVICE_RID = $00000013;
 | 
|
 SECURITY_NETWORK_SERVICE_RID = $00000014;
 | 
|
 SECURITY_NT_NON_UNIQUE = $00000015;
 | 
|
 SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT = 3;
 | 
|
 SECURITY_BUILTIN_DOMAIN_RID = $00000020;
 | 
|
 
 _USER_RID_*  DOMAIN_USER_RID_ADMIN = $000001F4;
 | 
|
 DOMAIN_USER_RID_GUEST = $000001F5;
 | 
|
 DOMAIN_USER_RID_KRBTGT = $000001F6;
 | 
 
 _GROUP_RID_*  DOMAIN_GROUP_RID_ADMINS = $00000200;
 | 
|
 DOMAIN_GROUP_RID_USERS = $00000201;
 | 
|
 DOMAIN_GROUP_RID_GUESTS = $00000202;
 | 
|
 DOMAIN_GROUP_RID_COMPUTERS = $00000203;
 | 
|
 DOMAIN_GROUP_RID_CONTROLLERS = $00000204;
 | 
|
 DOMAIN_GROUP_RID_CERT_ADMINS = $00000205;
 | 
|
 DOMAIN_GROUP_RID_SCHEMA_ADMINS = $00000206;
 | 
|
 DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = $00000207;
 | 
|
 DOMAIN_GROUP_RID_POLICY_ADMINS = $00000208;
 | 
 
 _ALIAS_RID_*  DOMAIN_ALIAS_RID_ADMINS = $00000220;
 | 
|
 DOMAIN_ALIAS_RID_USERS = $00000221;
 | 
|
 DOMAIN_ALIAS_RID_GUESTS = $00000222;
 | 
|
 DOMAIN_ALIAS_RID_POWER_USERS = $00000223;
 | 
|
 DOMAIN_ALIAS_RID_ACCOUNT_OPS = $00000224;
 | 
|
 DOMAIN_ALIAS_RID_SYSTEM_OPS = $00000225;
 | 
|
 DOMAIN_ALIAS_RID_PRINT_OPS = $00000226;
 | 
|
 DOMAIN_ALIAS_RID_BACKUP_OPS = $00000227;
 | 
|
 DOMAIN_ALIAS_RID_REPLICATOR = $00000228;
 | 
|
 DOMAIN_ALIAS_RID_RAS_SERVERS = $00000229;
 | 
|
 DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = $0000022A;
 | 
|
 DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = $0000022B;
 | 
|
 DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = $0000022C;
 | 
|
 
 _GROUP_*  SE_GROUP_MANDATORY = $00000001;
 | 
|
 SE_GROUP_ENABLED_BY_DEFAULT = $00000002;
 | 
|
 SE_GROUP_ENABLED = $00000004;
 | 
|
 SE_GROUP_OWNER = $00000008;
 | 
|
 SE_GROUP_USE_FOR_DENY_ONLY = $00000010;
 | 
|
 SE_GROUP_LOGON_ID = $C0000000;
 | 
|
 SE_GROUP_RESOURCE = $20000000;
 | 
Type definitions
SID identifier authority
SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY;
TSidIdentifierAuthority = SID_IDENTIFIER_AUTHORITY;
PSidIdentifierAuthority = PSID_IDENTIFIER_AUTHORITY;
PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
_SID_IDENTIFIER_AUTHORITY = record
 Value: array [0..5] of Byte;
 | 
SID types
SID = _SID;
PPSID = ^PSID;
TSid = SID;
PSid = ^SID;
_SID = record
 Revision: Byte;
 | 
|
 SubAuthorityCount: Byte;
 | 
|
 IdentifierAuthority: SID_IDENTIFIER_AUTHORITY;
 | 
|
 SubAuthority: array [0..ANYSIZE_ARRAY - 1] of DWORD;
 | 
Signed types
 BOOL = LongBool;
 | 
Unsigned types
 UCHAR = Byte;
 | 
Pointer types
 PUCHAR = ^Byte;
 | 
GUID types
 GUID = TGUID;
 | 
SID name use
 _SID_NAME_USE = DWORD;
 | 
|
 SID_NAME_USE = _SID_NAME_USE;
 | 
|
 PSID_NAME_USE = ^SID_NAME_USE;
 | 
|
 TSidNameUse = SID_NAME_USE;
 | 
|
 PSidNameUse = PSID_NAME_USE;
 | 
SID and attributes
SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES;
TSidAndAttributes = SID_AND_ATTRIBUTES;
PSidAndAttributes = PSID_AND_ATTRIBUTES;
PSID_AND_ATTRIBUTES = ^SID_AND_ATTRIBUTES;
_SID_AND_ATTRIBUTES = record
 Sid: PSID;
 | 
|
 Attributes: DWORD;
 | 
SID and attributes array
 SID_AND_ATTRIBUTES_ARRAY = array [0..ANYSIZE_ARRAY - 1] of SID_AND_ATTRIBUTES;
 | 
|
 PSID_AND_ATTRIBUTES_ARRAY = ^SID_AND_ATTRIBUTES_ARRAY;
 | 
|
 PSidAndAttributesArray = ^TSidAndAttributesArray;
 | 
|
 TSidAndAttributesArray = SID_AND_ATTRIBUTES_ARRAY;
 | 
ACL
ACL = _ACL;
TAcl = ACL;
PPACL = ^PACL;
PACL = ^ACL;
_ACL = record
 AclRevision: Byte;
 | 
|
 Sbz1: Byte;
 | 
|
 AclSize: Word;
 | 
|
 AceCount: Word;
 | 
|
 Sbz2: Word;
 | 
ACL information class
 _ACL_INFORMATION_CLASS = DWORD;
 | 
|
 ACL_INFORMATION_CLASS = _ACL_INFORMATION_CLASS;
 | 
|
 TAclInformationClass = ACL_INFORMATION_CLASS;
 | 
ACL revision information
ACL_REVISION_INFORMATION = _ACL_REVISION_INFORMATION;
TAclRevisionInformation = ACL_REVISION_INFORMATION;
PAclRevisionInformation = PACL_REVISION_INFORMATION;
PACL_REVISION_INFORMATION = ^ACL_REVISION_INFORMATION;
_ACL_REVISION_INFORMATION = record
| Note: This record is returned/sent if the user is requesting/setting the AclRevisionInformation | |
 AclRevision: DWORD;
 | 
|
ACL size information
ACL_SIZE_INFORMATION = _ACL_SIZE_INFORMATION;
TAclSizeInformation = ACL_SIZE_INFORMATION;
PAclSizeInformation = PACL_SIZE_INFORMATION;
PACL_SIZE_INFORMATION = ^ACL_SIZE_INFORMATION;
_ACL_SIZE_INFORMATION = record
| Note: This record is returned if the user is requesting AclSizeInformation | |
 AceCount: DWORD;
 | 
|
 AclBytesInUse: DWORD;
 | 
|
 AclBytesFree: DWORD;
 | 
|
Access mask
 ACCESS_MASK = DWORD;
 | 
|
 PACCESS_MASK = ^ACCESS_MASK;
 | 
|
 TAccessMask = ACCESS_MASK;
 | 
|
 PAccessMask = PACCESS_MASK;
 | 
ACE header
ACE_HEADER = _ACE_HEADER;
TAceHeader = ACE_HEADER;
PAceHeader = PACE_HEADER;
PACE_HEADER = ^ACE_HEADER;
_ACE_HEADER = record
 AceType: Byte;
 | 
|
 AceFlags: Byte;
 | 
|
 AceSize: Word;
 | 
Access allowed
ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE;
TAccessAllowedAce = ACCESS_ALLOWED_ACE;
PAccessAllowedAce = PACCESS_ALLOWED_ACE;
PACCESS_ALLOWED_ACE = ^ACCESS_ALLOWED_ACE;
_ACCESS_ALLOWED_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 SidStart: DWORD;
 | 
Access denied
ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE;
TAccessDeniedAce = ACCESS_DENIED_ACE;
PAccessDeniedAce = PACCESS_DENIED_ACE;
PACCESS_DENIED_ACE = ^ACCESS_DENIED_ACE;
_ACCESS_DENIED_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 SidStart: DWORD;
 | 
System audit
SYSTEM_AUDIT_ACE = _SYSTEM_AUDIT_ACE;
TSystemAuditAce = SYSTEM_AUDIT_ACE;
PSystemAuditAce = PSYSTEM_AUDIT_ACE;
PSYSTEM_AUDIT_ACE = ^SYSTEM_AUDIT_ACE;
_SYSTEM_AUDIT_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 SidStart: DWORD;
 | 
System alarm
SYSTEM_ALARM_ACE = _SYSTEM_ALARM_ACE;
TSystemAlarmAce = SYSTEM_ALARM_ACE;
PSystemAlarmAce = PSYSTEM_ALARM_ACE;
PSYSTEM_ALARM_ACE = ^SYSTEM_ALARM_ACE;
_SYSTEM_ALARM_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 SidStart: DWORD;
 | 
Access allowed object
ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE;
TAccessAllowedObjectAce = ACCESS_ALLOWED_OBJECT_ACE;
PAccessAllowedObjectAce = PACCESS_ALLOWED_OBJECT_ACE;
PACCESS_ALLOWED_OBJECT_ACE = ^ACCESS_ALLOWED_OBJECT_ACE;
_ACCESS_ALLOWED_OBJECT_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 Flags: DWORD;
 | 
|
 ObjectType: GUID;
 | 
|
 InheritedObjectType: GUID;
 | 
|
 SidStart: DWORD;
 | 
Access denied object
ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE;
TAccessDeniedObjectAce = ACCESS_DENIED_OBJECT_ACE;
PAccessDeniedObjectAce = PACCESS_DENIED_OBJECT_ACE;
PACCESS_DENIED_OBJECT_ACE = ^ACCESS_DENIED_OBJECT_ACE;
_ACCESS_DENIED_OBJECT_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 Flags: DWORD;
 | 
|
 ObjectType: GUID;
 | 
|
 InheritedObjectType: GUID;
 | 
|
 SidStart: DWORD;
 | 
System audit object
SYSTEM_AUDIT_OBJECT_ACE = _SYSTEM_AUDIT_OBJECT_ACE;
TSystemAuditObjectAce = SYSTEM_AUDIT_OBJECT_ACE;
PSystemAuditObjectAce = PSYSTEM_AUDIT_OBJECT_ACE;
PSYSTEM_AUDIT_OBJECT_ACE = ^SYSTEM_AUDIT_OBJECT_ACE;
_SYSTEM_AUDIT_OBJECT_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 Flags: DWORD;
 | 
|
 ObjectType: GUID;
 | 
|
 InheritedObjectType: GUID;
 | 
|
 SidStart: DWORD;
 | 
System alarm object
SYSTEM_ALARM_OBJECT_ACE = _SYSTEM_ALARM_OBJECT_ACE;
TSystemAlarmObjectAce = SYSTEM_ALARM_OBJECT_ACE;
PSystemAlarmObjectAce = PSYSTEM_ALARM_OBJECT_ACE;
PSYSTEM_ALARM_OBJECT_ACE = ^SYSTEM_ALARM_OBJECT_ACE;
_SYSTEM_ALARM_OBJECT_ACE = record
 Header: ACE_HEADER;
 | 
|
 Mask: ACCESS_MASK;
 | 
|
 Flags: DWORD;
 | 
|
 ObjectType: GUID;
 | 
|
 InheritedObjectType: GUID;
 | 
|
 SidStart: DWORD;
 | 
Security descriptor control
 SECURITY_DESCRIPTOR_CONTROL = WORD;
 | 
|
 PSECURITY_DESCRIPTOR_CONTROL = ^SECURITY_DESCRIPTOR_CONTROL;
 | 
|
 TSecurityDescriptorControl = SECURITY_DESCRIPTOR_CONTROL;
 | 
|
 PSecurityDescriptorControl = PSECURITY_DESCRIPTOR_CONTROL;
 | 
Security descriptor relative
SECURITY_DESCRIPTOR_RELATIVE = _SECURITY_DESCRIPTOR_RELATIVE;
TSecurityDescriptorRelative = SECURITY_DESCRIPTOR_RELATIVE;
PSecurityDescriptorRelative = PSECURITY_DESCRIPTOR_RELATIVE;
PSECURITY_DESCRIPTOR_RELATIVE = ^SECURITY_DESCRIPTOR_RELATIVE;
_SECURITY_DESCRIPTOR_RELATIVE = record
 Revision: Byte;
 | 
|
 Sbz1: Byte;
 | 
|
 Control: SECURITY_DESCRIPTOR_CONTROL;
 | 
|
 Owner: DWORD;
 | 
|
 Group: DWORD;
 | 
|
 Sacl: DWORD;
 | 
|
 Dacl: DWORD;
 | 
Security descriptor
SECURITY_DESCRIPTOR = _SECURITY_DESCRIPTOR;
TSecurityDescriptor = SECURITY_DESCRIPTOR;
PSecurityDescriptor = PSECURITY_DESCRIPTOR;
PPSECURITY_DESCRIPTOR = ^PSECURITY_DESCRIPTOR;
PSECURITY_DESCRIPTOR = ^SECURITY_DESCRIPTOR;
_SECURITY_DESCRIPTOR = record
 Revision: Byte;
 | 
|
 Sbz1: Byte;
 | 
|
 Control: SECURITY_DESCRIPTOR_CONTROL;
 | 
|
 Owner: PSID;
 | 
|
 Group: PSID;
 | 
|
 Sacl: PACL;
 | 
|
 Dacl: PACL;
 | 
Well known SID type
WELL_KNOWN_SID_TYPE = (
 WinNullSid,
 | 
|
 WinWorldSid,
 | 
|
 WinLocalSid,
 | 
|
 WinCreatorOwnerSid,
 | 
|
 WinCreatorGroupSid,
 | 
|
 WinCreatorOwnerServerSid,
 | 
|
 WinCreatorGroupServerSid,
 | 
|
 WinNtAuthoritySid,
 | 
|
 WinDialupSid,
 | 
|
 WinNetworkSid,
 | 
|
 WinBatchSid,
 | 
|
 WinInteractiveSid,
 | 
|
 WinServiceSid,
 | 
|
 WinAnonymousSid,
 | 
|
 WinProxySid,
 | 
|
 WinEnterpriseControllersSid,
 | 
|
 WinSelfSid,
 | 
|
 WinAuthenticatedUserSid,
 | 
|
 WinRestrictedCodeSid,
 | 
|
 WinTerminalServerSid,
 | 
|
 WinRemoteLogonIdSid,
 | 
|
 WinLogonIdsSid,
 | 
|
 WinLocalSystemSid,
 | 
|
 WinLocalServiceSid,
 | 
|
 WinNetworkServiceSid,
 | 
|
 WinBuiltinDomainSid,
 | 
|
 WinBuiltinAdministratorsSid,
 | 
|
 WinBuiltinUsersSid,
 | 
|
 WinBuiltinGuestsSid,
 | 
|
 WinBuiltinPowerUsersSid,
 | 
|
 WinBuiltinAccountOperatorsSid,
 | 
|
 WinBuiltinSystemOperatorsSid,
 | 
|
 WinBuiltinPrintOperatorsSid,
 | 
|
 WinBuiltinBackupOperatorsSid,
 | 
|
 WinBuiltinReplicatorSid,
 | 
|
 WinBuiltinPreWindows2000CompatibleAccessSid,
 | 
|
 WinBuiltinRemoteDesktopUsersSid,
 | 
|
 WinBuiltinNetworkConfigurationOperatorsSid,
 | 
|
 WinAccountAdministratorSid,
 | 
|
 WinAccountGuestSid,
 | 
|
 WinAccountKrbtgtSid,
 | 
|
 WinAccountDomainAdminsSid,
 | 
|
 WinAccountDomainUsersSid,
 | 
|
 WinAccountDomainGuestsSid,
 | 
|
 WinAccountComputersSid,
 | 
|
 WinAccountControllersSid,
 | 
|
 WinAccountCertAdminsSid,
 | 
|
 WinAccountSchemaAdminsSid,
 | 
|
 WinAccountEnterpriseAdminsSid,
 | 
|
 WinAccountPolicyAdminsSid,
 | 
|
 WinAccountRasAndIasServersSid);
 | 
|
 TWellKnownSidType = WELL_KNOWN_SID_TYPE;
 | 
Well known SID
PWellKnownSid = ^TWellKnownSid;
TWellKnownSid = record
 SidHeader:TSID;
 | 
|
 SubAuthorities:array[0..5] of DWORD;
 | 
Well known ACE
TWellKnownAce = record
| Note: Not Packed (Descriptor Ace defaults) | |
 AceType:Byte;
 | 
|
 AceFlags:Byte;
 | 
|
 AceSize:Word;
 | 
|
 Mask:LongWord;
 | 
|
 Sid:TWellKnownSidType;
 | 
|
Well known ACL
TWellKnownAcl = record
| Note: Not Packed (Descriptor Acl defaults) | |
 AclRevision:Byte;
 | 
|
 AclSize:Word;
 | 
|
 AceCount:Word;
 | 
|
 Aces:array[0..7] of TWellKnownAce;
 | 
|
Well known descriptor
PWellKnownDescriptor = ^TWellKnownDescriptor;
TWellKnownDescriptor = record
| Note: Not Packed (Descriptor defaults) | |
 Size:LongWord;
 | 
|
 Revision:Byte;
 | 
Revision | 
 Control:Word;
 | 
Control Flags | 
 OwnerOffset:LongWord;
 | 
Offset to Owner SID | 
 GroupOffset:LongWord;
 | 
Offset to Group SID | 
 SaclOffset:LongWord;
 | 
Offset to SACL | 
 DaclOffset:LongWord;
 | 
Offset to DACL | 
 Owner:TWellKnownSidType;
 | 
|
 Group:TWellKnownSidType;
 | 
|
 Sacl:TWellKnownAcl;
 | 
|
 Dacl:TWellKnownAcl;
 | 
|
Public variables
None defined
Function declarations
Security functions
function IsWellKnownSid(Sid: PSID; WellKnownSidType: WELL_KNOWN_SID_TYPE): BOOL;
| Note | None documented | 
|---|
function CreateWellKnownSid(WellKnownSidType: WELL_KNOWN_SID_TYPE; DomainSid: PSID; Sid: PSID; var cbSid: DWORD): BOOL;
| Note | None documented | 
|---|
function IsValidSid(Sid: PSID): BOOL;
| Note | None documented | 
|---|
function EqualSid(Sid1, Sid2: PSID): BOOL;
| Note | None documented | 
|---|
function EqualPrefixSid(Sid1, Sid2: PSID): BOOL;
| Note | None documented | 
|---|
function GetSidLengthRequired(nSubAuthorityCount: UCHAR): DWORD;
| Note | None documented | 
|---|
function AllocateAndInitializeSid(const pIdentifierAuthority: TSIDIdentifierAuthority; nSubAuthorityCount: Byte; nSubAuthority0, nSubAuthority1: DWORD; nSubAuthority2, nSubAuthority3, nSubAuthority4: DWORD; nSubAuthority5, nSubAuthority6, nSubAuthority7: DWORD; var Sid: PSID): BOOL;
| Note | None documented | 
|---|
function FreeSid(Sid: PSID): Pointer;
| Note | None documented | 
|---|
function InitializeSid(Sid: PSID; const pIdentifierAuthority: TSIDIdentifierAuthority; nSubAuthorityCount: Byte): BOOL;
| Note | None documented | 
|---|
function GetSidIdentifierAuthority(Sid: PSID): PSIDIdentifierAuthority;
| Note | None documented | 
|---|
function GetSidSubAuthority(Sid: PSID; nSubAuthority: DWORD): PDWORD;
| Note | None documented | 
|---|
function GetSidSubAuthorityCount(Sid: PSID): PUCHAR;
| Note | None documented | 
|---|
function GetLengthSid(Sid: PSID): DWORD;
| Note | None documented | 
|---|
function CopySid(nDestinationSidLength: DWORD; pDestinationSid, pSourceSid: PSID): BOOL;
| Note | None documented | 
|---|
function ConvertSidToStringSid(Sid: PSID; var StringSid: PChar): BOOL;
| Note | None documented | 
|---|
function ConvertStringSidToSid(StringSid: PChar; var Sid: PSID): BOOL;
| Note | None documented | 
|---|
function IsValidAcl(const pAcl: TACL): BOOL;
| Note | None documented | 
|---|
function InitializeAcl(var pAcl: TACL; nAclLength, dwAclRevision: DWORD): BOOL;
| Note | None documented | 
|---|
function GetAclInformation(const pAcl: TACL; pAclInformation: Pointer; nAclInformationLength: DWORD; dwAclInformationClass: TAclInformationClass): BOOL;
| Note | None documented | 
|---|
function SetAclInformation(var pAcl: TACL; pAclInformation: Pointer; nAclInformationLength: DWORD; dwAclInformationClass: TAclInformationClass): BOOL;
| Note | None documented | 
|---|
function AddAce(var pAcl: TACL; dwAceRevision, dwStartingAceIndex: DWORD; pAceList: Pointer; nAceListLength: DWORD): BOOL;
| Note | None documented | 
|---|
function DeleteAce(var pAcl: TACL; dwAceIndex: DWORD): BOOL;
| Note | None documented | 
|---|
function GetAce(const pAcl: TACL; dwAceIndex: DWORD; var pAce: Pointer): BOOL;
| Note | None documented | 
|---|
function AddAccessAllowedAce(var pAcl: TACL; dwAceRevision: DWORD; AccessMask: DWORD; Sid: PSID): BOOL;
| Note | None documented | 
|---|
function AddAccessAllowedAceEx(var pAcl: TACL; dwAceRevision: DWORD; AceFlags: DWORD; AccessMask: DWORD; Sid: PSID): BOOL;
| Note | None documented | 
|---|
function AddAccessDeniedAce(var pAcl: TACL; dwAceRevision: DWORD; AccessMask: DWORD; Sid: PSID): BOOL;
| Note | None documented | 
|---|
function AddAccessDeniedAceEx(var pAcl: TACL; dwAceRevision: DWORD; AceFlags: DWORD; AccessMask: DWORD; Sid: PSID): BOOL;
| Note | None documented | 
|---|
function AddAuditAccessAce(var pAcl: TACL; dwAceRevision: DWORD; dwAccessMask: DWORD; Sid: PSID; bAuditSuccess, bAuditFailure: BOOL): BOOL;
| Note | None documented | 
|---|
function AddAuditAccessAceEx(var pAcl: TACL; dwAceRevision: DWORD; AceFlags: DWORD; dwAccessMask: DWORD; Sid: PSID; bAuditSuccess, bAuditFailure: BOOL): BOOL;
| Note | None documented | 
|---|
function AddAccessAllowedObjectAce(var pAcl: TACL; dwAceRevision: DWORD; AceFlags: DWORD; AccessMask: DWORD; ObjectTypeGuid, InheritedObjectTypeGuid: PGUID; Sid: PSID): BOOL;
| Note | None documented | 
|---|
function AddAccessDeniedObjectAce(var pAcl: TACL; dwAceRevision: DWORD; AceFlags: DWORD; AccessMask: DWORD; ObjectTypeGuid, InheritedObjectTypeGuid: PGUID; Sid: PSID): BOOL;
| Note | None documented | 
|---|
function AddAuditAccessObjectAce(var pAcl: TACL; dwAceRevision: DWORD; AceFlags: DWORD; AccessMask: DWORD; ObjectTypeGuid, InheritedObjectTypeGuid: PGUID; Sid: PSID; bAuditSuccess, bAuditFailure: BOOL): BOOL;
| Note | None documented | 
|---|
function FindFirstFreeAce(var pAcl: TACL; var pAce: Pointer): BOOL;
| Note | None documented | 
|---|
function InitializeSecurityDescriptor(pSecurityDescriptor: PSecurityDescriptor; dwRevision: DWORD): BOOL;
| Note | None documented | 
|---|
function IsValidSecurityDescriptor(pSecurityDescriptor: PSecurityDescriptor): BOOL;
| Note | None documented | 
|---|
function GetSecurityDescriptorLength(pSecurityDescriptor: PSecurityDescriptor): DWORD;
| Note | None documented | 
|---|
function GetSecurityDescriptorControl(pSecurityDescriptor: PSecurityDescriptor; var pControl: SECURITY_DESCRIPTOR_CONTROL; var lpdwRevision: DWORD): BOOL;
| Note | None documented | 
|---|
function SetSecurityDescriptorControl(pSecurityDescriptor: PSecurityDescriptor; ControlBitsOfInterest, ControlBitsToSet: SECURITY_DESCRIPTOR_CONTROL): BOOL;
| Note | None documented | 
|---|
function GetSecurityDescriptorDacl(pSecurityDescriptor: PSecurityDescriptor; var lpbDaclPresent: BOOL; var pDacl: PACL; var lpbDaclDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function SetSecurityDescriptorDacl(pSecurityDescriptor: PSecurityDescriptor; bDaclPresent: BOOL; pDacl: PACL; bDaclDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function GetSecurityDescriptorSacl(pSecurityDescriptor: PSecurityDescriptor; var lpbSaclPresent: BOOL; var pSacl: PACL; var lpbSaclDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function SetSecurityDescriptorSacl(pSecurityDescriptor: PSecurityDescriptor; bSaclPresent: BOOL; pSacl: PACL; bSaclDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function GetSecurityDescriptorOwner(pSecurityDescriptor: PSecurityDescriptor; var pOwner: PSID; var lpbOwnerDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function SetSecurityDescriptorOwner(pSecurityDescriptor: PSecurityDescriptor; pOwner: PSID; bOwnerDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function GetSecurityDescriptorGroup(pSecurityDescriptor: PSecurityDescriptor; var pGroup: PSID; var lpbGroupDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function SetSecurityDescriptorGroup(pSecurityDescriptor: PSecurityDescriptor; pGroup: PSID; bGroupDefaulted: BOOL): BOOL;
| Note | None documented | 
|---|
function MakeSelfRelativeSD(pAbsoluteSecurityDescriptor: PSecurityDescriptor; pSelfRelativeSecurityDescriptor: PSecurityDescriptor; var lpdwBufferLength: DWORD): BOOL;
| Note | None documented | 
|---|
function MakeAbsoluteSD(pSelfRelativeSecurityDescriptor: PSecurityDescriptor; pAbsoluteSecurityDescriptor: PSecurityDescriptor; var lpdwAbsoluteSecurityDescriptorSi: DWORD; var pDacl: TACL; var lpdwDaclSize: DWORD; var pSacl: TACL; var lpdwSaclSize: DWORD; pOwner: PSID; var lpdwOwnerSize: DWORD; pPrimaryGroup: PSID; var lpdwPrimaryGroupSize: DWORD): BOOL;
| Note | None documented | 
|---|
function MakeAbsoluteSD2(pSelfRelativeSecurityDescriptor: PSecurityDescriptor; var lpdwBufferSize: DWORD): BOOL;
| Note | None documented | 
|---|
Security helper functions
function SplitStringSid(const StringSid:String):TStringList;
| Note | None documented | 
|---|
function CreateDefaultSid(var pCreatedSid: PSID): BOOL;
| Note | None documented | 
|---|
function DestroyDefaultSid(pDefaultSid: PSID): BOOL;
| Note | None documented | 
|---|
function CreateDefaultSecurityDescriptor(var pCreatedSecurityDescriptor: PSecurityDescriptor; bFolder: BOOL): BOOL;
| Note | None documented | 
|---|
function DestroyDefaultSecurityDescriptor(pDefaultSecurityDescriptor: PSecurityDescriptor): BOOL;
| Note | None documented | 
|---|
function CreateInheritedSecurityDescriptorNT(pParentSecurityDescriptor: PSecurityDescriptor; var pCreatedSecurityDescriptor: PSecurityDescriptor): BOOL;
| Note | None documented | 
|---|
function CreateInheritedSecurityDescriptor2K(pParentSecurityDescriptor: PSecurityDescriptor; var pCreatedSecurityDescriptor: PSecurityDescriptor): BOOL;
| Note | None documented | 
|---|
function CreateMergedSecurityDescriptor2K(pParentSecurityDescriptor, pChildSecurityDescriptor: PSecurityDescriptor; var pCreatedSecurityDescriptor: PSecurityDescriptor): BOOL;
| Note | None documented | 
|---|
function DestroyInheritedSecurityDescriptor(pInheritedSecurityDescriptor: PSecurityDescriptor): BOOL;
| Note | None documented | 
|---|
function DestroyMergedSecurityDescriptor(pMergedSecurityDescriptor: PSecurityDescriptor): BOOL;
| Note | None documented | 
|---|
Return to Unit Reference