# Hacked from winnt.h DELETE = 65536 READ_CONTROL = 131072 WRITE_DAC = 262144 WRITE_OWNER = 524288 SYNCHRONIZE = 1048576 STANDARD_RIGHTS_REQUIRED = 983040 STANDARD_RIGHTS_READ = READ_CONTROL STANDARD_RIGHTS_WRITE = READ_CONTROL STANDARD_RIGHTS_EXECUTE = READ_CONTROL STANDARD_RIGHTS_ALL = 2031616 SPECIFIC_RIGHTS_ALL = 65535 ACCESS_SYSTEM_SECURITY = 16777216 MAXIMUM_ALLOWED = 33554432 GENERIC_READ = -2147483648 GENERIC_WRITE = 1073741824 GENERIC_EXECUTE = 536870912 GENERIC_ALL = 268435456 # file security permissions FILE_READ_DATA = 1 FILE_LIST_DIRECTORY = 1 FILE_WRITE_DATA = 2 FILE_ADD_FILE = 2 FILE_APPEND_DATA = 4 FILE_ADD_SUBDIRECTORY = 4 FILE_CREATE_PIPE_INSTANCE = 4 FILE_READ_EA = 8 FILE_WRITE_EA = 16 FILE_EXECUTE = 32 FILE_TRAVERSE = 32 FILE_DELETE_CHILD = 64 FILE_READ_ATTRIBUTES = 128 FILE_WRITE_ATTRIBUTES = 256 FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 511 FILE_GENERIC_READ = ( STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE ) FILE_GENERIC_WRITE = ( STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE ) FILE_GENERIC_EXECUTE = ( STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE ) SECURITY_NULL_SID_AUTHORITY = (0, 0, 0, 0, 0, 0) SECURITY_WORLD_SID_AUTHORITY = (0, 0, 0, 0, 0, 1) SECURITY_LOCAL_SID_AUTHORITY = (0, 0, 0, 0, 0, 2) SECURITY_CREATOR_SID_AUTHORITY = (0, 0, 0, 0, 0, 3) SECURITY_NON_UNIQUE_AUTHORITY = (0, 0, 0, 0, 0, 4) SECURITY_RESOURCE_MANAGER_AUTHORITY = (0, 0, 0, 0, 0, 9) SECURITY_NULL_RID = 0 SECURITY_WORLD_RID = 0 SECURITY_LOCAL_RID = 0x00000000 SECURITY_CREATOR_OWNER_RID = 0 SECURITY_CREATOR_GROUP_RID = 1 SECURITY_CREATOR_OWNER_SERVER_RID = 2 SECURITY_CREATOR_GROUP_SERVER_RID = 3 SECURITY_CREATOR_OWNER_RIGHTS_RID = 4 # NT well-known SIDs SECURITY_NT_AUTHORITY = (0, 0, 0, 0, 0, 5) SECURITY_DIALUP_RID = 1 SECURITY_NETWORK_RID = 2 SECURITY_BATCH_RID = 3 SECURITY_INTERACTIVE_RID = 4 SECURITY_SERVICE_RID = 6 SECURITY_ANONYMOUS_LOGON_RID = 7 SECURITY_PROXY_RID = 8 SECURITY_SERVER_LOGON_RID = 9 SECURITY_LOGON_IDS_RID = 5 SECURITY_LOGON_IDS_RID_COUNT = 3 SECURITY_LOCAL_SYSTEM_RID = 18 SECURITY_NT_NON_UNIQUE = 21 SECURITY_BUILTIN_DOMAIN_RID = 32 # well-known domain relative sub-authority values (RIDs)... DOMAIN_USER_RID_ADMIN = 500 DOMAIN_USER_RID_GUEST = 501 DOMAIN_USER_RID_KRBTGT = 502 DOMAIN_USER_RID_MAX = 999 # well-known groups ... DOMAIN_GROUP_RID_ADMINS = 512 DOMAIN_GROUP_RID_USERS = 513 DOMAIN_GROUP_RID_GUESTS = 514 DOMAIN_GROUP_RID_COMPUTERS = 515 DOMAIN_GROUP_RID_CONTROLLERS = 516 DOMAIN_GROUP_RID_CERT_ADMINS = 517 DOMAIN_GROUP_RID_SCHEMA_ADMINS = 518 DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = 519 DOMAIN_GROUP_RID_POLICY_ADMINS = 520 DOMAIN_GROUP_RID_READONLY_CONTROLLERS = 521 # well-known aliases ... DOMAIN_ALIAS_RID_ADMINS = 544 DOMAIN_ALIAS_RID_USERS = 545 DOMAIN_ALIAS_RID_GUESTS = 546 DOMAIN_ALIAS_RID_POWER_USERS = 547 DOMAIN_ALIAS_RID_ACCOUNT_OPS = 548 DOMAIN_ALIAS_RID_SYSTEM_OPS = 549 DOMAIN_ALIAS_RID_PRINT_OPS = 550 DOMAIN_ALIAS_RID_BACKUP_OPS = 551 DOMAIN_ALIAS_RID_REPLICATOR = 552 DOMAIN_ALIAS_RID_RAS_SERVERS = 553 DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 554 DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 555 DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 556 DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS = 557 DOMAIN_ALIAS_RID_MONITORING_USERS = 558 DOMAIN_ALIAS_RID_LOGGING_USERS = 559 DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS = 560 DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS = 561 DOMAIN_ALIAS_RID_DCOM_USERS = 562 DOMAIN_ALIAS_RID_IUSERS = 568 DOMAIN_ALIAS_RID_CRYPTO_OPERATORS = 569 DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP = 571 DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP = 572 DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP = 573 SECURITY_MANDATORY_LABEL_AUTHORITY = (0, 0, 0, 0, 0, 16) SECURITY_MANDATORY_UNTRUSTED_RID = 0x00000000 SECURITY_MANDATORY_LOW_RID = 0x00001000 SECURITY_MANDATORY_MEDIUM_RID = 0x00002000 SECURITY_MANDATORY_HIGH_RID = 0x00003000 SECURITY_MANDATORY_SYSTEM_RID = 0x00004000 SECURITY_MANDATORY_PROTECTED_PROCESS_RID = 0x00005000 SECURITY_MANDATORY_MAXIMUM_USER_RID = SECURITY_MANDATORY_SYSTEM_RID SYSTEM_LUID = (999, 0) ANONYMOUS_LOGON_LUID = (998, 0) LOCALSERVICE_LUID = (997, 0) NETWORKSERVICE_LUID = (996, 0) IUSER_LUID = (995, 0) # Group attributes SE_GROUP_MANDATORY = 1 SE_GROUP_ENABLED_BY_DEFAULT = 2 SE_GROUP_ENABLED = 4 SE_GROUP_OWNER = 8 SE_GROUP_USE_FOR_DENY_ONLY = 16 SE_GROUP_INTEGRITY = 32 SE_GROUP_INTEGRITY_ENABLED = 64 SE_GROUP_RESOURCE = 536870912 SE_GROUP_LOGON_ID = -1073741824 # User attributes # (None yet defined.) # ACE types 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 = 10 ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = 11 ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = 12 SYSTEM_AUDIT_CALLBACK_ACE_TYPE = 13 SYSTEM_ALARM_CALLBACK_ACE_TYPE = 14 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = 15 SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = 16 SYSTEM_MANDATORY_LABEL_ACE_TYPE = 17 ACCESS_MAX_MS_V5_ACE_TYPE = 17 # 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 VALID_INHERIT_FLAGS = 15 SUCCESSFUL_ACCESS_ACE_FLAG = 64 FAILED_ACCESS_ACE_FLAG = 128 SE_OWNER_DEFAULTED = 1 SE_GROUP_DEFAULTED = 2 SE_DACL_PRESENT = 4 SE_DACL_DEFAULTED = 8 SE_SACL_PRESENT = 16 SE_SACL_DEFAULTED = 32 SE_SELF_RELATIVE = 32768 SE_PRIVILEGE_ENABLED_BY_DEFAULT = 1 SE_PRIVILEGE_ENABLED = 2 SE_PRIVILEGE_USED_FOR_ACCESS = -2147483648 PRIVILEGE_SET_ALL_NECESSARY = 1 # NT Defined Privileges SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege" SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege" SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege" SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege" SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege" SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege" SE_TCB_NAME = "SeTcbPrivilege" SE_SECURITY_NAME = "SeSecurityPrivilege" SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege" SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege" SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege" SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege" SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege" SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege" SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege" SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege" SE_BACKUP_NAME = "SeBackupPrivilege" SE_RESTORE_NAME = "SeRestorePrivilege" SE_SHUTDOWN_NAME = "SeShutdownPrivilege" SE_DEBUG_NAME = "SeDebugPrivilege" SE_AUDIT_NAME = "SeAuditPrivilege" SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege" SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege" SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege" # Enum SECURITY_IMPERSONATION_LEVEL: SecurityAnonymous = 0 SecurityIdentification = 1 SecurityImpersonation = 2 SecurityDelegation = 3 SECURITY_MAX_IMPERSONATION_LEVEL = SecurityDelegation DEFAULT_IMPERSONATION_LEVEL = SecurityImpersonation TOKEN_ASSIGN_PRIMARY = 1 TOKEN_DUPLICATE = 2 TOKEN_IMPERSONATE = 4 TOKEN_QUERY = 8 TOKEN_QUERY_SOURCE = 16 TOKEN_ADJUST_PRIVILEGES = 32 TOKEN_ADJUST_GROUPS = 64 TOKEN_ADJUST_DEFAULT = 128 TOKEN_ALL_ACCESS = ( STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT ) TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY TOKEN_WRITE = ( STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT ) TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE SidTypeUser = 1 SidTypeGroup = 2 SidTypeDomain = 3 SidTypeAlias = 4 SidTypeWellKnownGroup = 5 SidTypeDeletedAccount = 6 SidTypeInvalid = 7 SidTypeUnknown = 8 SidTypeComputer = 9 SidTypeLabel = 10 # Token types TokenPrimary = 1 TokenImpersonation = 2 # TOKEN_INFORMATION_CLASS, used with Get/SetTokenInformation TokenUser = 1 TokenGroups = 2 TokenPrivileges = 3 TokenOwner = 4 TokenPrimaryGroup = 5 TokenDefaultDacl = 6 TokenSource = 7 TokenType = 8 TokenImpersonationLevel = 9 TokenStatistics = 10 TokenRestrictedSids = 11 TokenSessionId = 12 TokenGroupsAndPrivileges = 13 TokenSessionReference = 14 TokenSandBoxInert = 15 TokenAuditPolicy = 16 TokenOrigin = 17 TokenElevationType = 18 TokenLinkedToken = 19 TokenElevation = 20 TokenHasRestrictions = 21 TokenAccessInformation = 22 TokenVirtualizationAllowed = 23 TokenVirtualizationEnabled = 24 TokenIntegrityLevel = 25 TokenUIAccess = 26 TokenMandatoryPolicy = 27 TokenLogonSid = 28 # DirectoryService related constants. # Generated by h2py from NtDsAPI.h DS_BEHAVIOR_WIN2000 = 0 DS_BEHAVIOR_WIN2003_WITH_MIXED_DOMAINS = 1 DS_BEHAVIOR_WIN2003 = 2 DS_SYNCED_EVENT_NAME = "NTDSInitialSyncsCompleted" ACTRL_DS_OPEN = 0x00000000 ACTRL_DS_CREATE_CHILD = 0x00000001 ACTRL_DS_DELETE_CHILD = 0x00000002 ACTRL_DS_LIST = 0x00000004 ACTRL_DS_SELF = 0x00000008 ACTRL_DS_READ_PROP = 0x00000010 ACTRL_DS_WRITE_PROP = 0x00000020 ACTRL_DS_DELETE_TREE = 0x00000040 ACTRL_DS_LIST_OBJECT = 0x00000080 ACTRL_DS_CONTROL_ACCESS = 0x00000100 NTDSAPI_BIND_ALLOW_DELEGATION = 0x00000001 DS_REPSYNC_ASYNCHRONOUS_OPERATION = 0x00000001 DS_REPSYNC_WRITEABLE = 0x00000002 DS_REPSYNC_PERIODIC = 0x00000004 DS_REPSYNC_INTERSITE_MESSAGING = 0x00000008 DS_REPSYNC_ALL_SOURCES = 0x00000010 DS_REPSYNC_FULL = 0x00000020 DS_REPSYNC_URGENT = 0x00000040 DS_REPSYNC_NO_DISCARD = 0x00000080 DS_REPSYNC_FORCE = 0x00000100 DS_REPSYNC_ADD_REFERENCE = 0x00000200 DS_REPSYNC_NEVER_COMPLETED = 0x00000400 DS_REPSYNC_TWO_WAY = 0x00000800 DS_REPSYNC_NEVER_NOTIFY = 0x00001000 DS_REPSYNC_INITIAL = 0x00002000 DS_REPSYNC_USE_COMPRESSION = 0x00004000 DS_REPSYNC_ABANDONED = 0x00008000 DS_REPSYNC_INITIAL_IN_PROGRESS = 0x00010000 DS_REPSYNC_PARTIAL_ATTRIBUTE_SET = 0x00020000 DS_REPSYNC_REQUEUE = 0x00040000 DS_REPSYNC_NOTIFICATION = 0x00080000 DS_REPSYNC_ASYNCHRONOUS_REPLICA = 0x00100000 DS_REPSYNC_CRITICAL = 0x00200000 DS_REPSYNC_FULL_IN_PROGRESS = 0x00400000 DS_REPSYNC_PREEMPTED = 0x00800000 DS_REPADD_ASYNCHRONOUS_OPERATION = 0x00000001 DS_REPADD_WRITEABLE = 0x00000002 DS_REPADD_INITIAL = 0x00000004 DS_REPADD_PERIODIC = 0x00000008 DS_REPADD_INTERSITE_MESSAGING = 0x00000010 DS_REPADD_ASYNCHRONOUS_REPLICA = 0x00000020 DS_REPADD_DISABLE_NOTIFICATION = 0x00000040 DS_REPADD_DISABLE_PERIODIC = 0x00000080 DS_REPADD_USE_COMPRESSION = 0x00000100 DS_REPADD_NEVER_NOTIFY = 0x00000200 DS_REPADD_TWO_WAY = 0x00000400 DS_REPADD_CRITICAL = 0x00000800 DS_REPDEL_ASYNCHRONOUS_OPERATION = 0x00000001 DS_REPDEL_WRITEABLE = 0x00000002 DS_REPDEL_INTERSITE_MESSAGING = 0x00000004 DS_REPDEL_IGNORE_ERRORS = 0x00000008 DS_REPDEL_LOCAL_ONLY = 0x00000010 DS_REPDEL_NO_SOURCE = 0x00000020 DS_REPDEL_REF_OK = 0x00000040 DS_REPMOD_ASYNCHRONOUS_OPERATION = 0x00000001 DS_REPMOD_WRITEABLE = 0x00000002 DS_REPMOD_UPDATE_FLAGS = 0x00000001 DS_REPMOD_UPDATE_ADDRESS = 0x00000002 DS_REPMOD_UPDATE_SCHEDULE = 0x00000004 DS_REPMOD_UPDATE_RESULT = 0x00000008 DS_REPMOD_UPDATE_TRANSPORT = 0x00000010 DS_REPUPD_ASYNCHRONOUS_OPERATION = 0x00000001 DS_REPUPD_WRITEABLE = 0x00000002 DS_REPUPD_ADD_REFERENCE = 0x00000004 DS_REPUPD_DELETE_REFERENCE = 0x00000008 DS_INSTANCETYPE_IS_NC_HEAD = 0x00000001 DS_INSTANCETYPE_NC_IS_WRITEABLE = 0x00000004 DS_INSTANCETYPE_NC_COMING = 0x00000010 DS_INSTANCETYPE_NC_GOING = 0x00000020 NTDSDSA_OPT_IS_GC = 1 << 0 NTDSDSA_OPT_DISABLE_INBOUND_REPL = 1 << 1 NTDSDSA_OPT_DISABLE_OUTBOUND_REPL = 1 << 2 NTDSDSA_OPT_DISABLE_NTDSCONN_XLATE = 1 << 3 NTDSCONN_OPT_IS_GENERATED = 1 << 0 NTDSCONN_OPT_TWOWAY_SYNC = 1 << 1 NTDSCONN_OPT_OVERRIDE_NOTIFY_DEFAULT = 1 << 2 NTDSCONN_OPT_USE_NOTIFY = 1 << 3 NTDSCONN_OPT_DISABLE_INTERSITE_COMPRESSION = 1 << 4 NTDSCONN_OPT_USER_OWNED_SCHEDULE = 1 << 5 NTDSCONN_KCC_NO_REASON = 0 NTDSCONN_KCC_GC_TOPOLOGY = 1 << 0 NTDSCONN_KCC_RING_TOPOLOGY = 1 << 1 NTDSCONN_KCC_MINIMIZE_HOPS_TOPOLOGY = 1 << 2 NTDSCONN_KCC_STALE_SERVERS_TOPOLOGY = 1 << 3 NTDSCONN_KCC_OSCILLATING_CONNECTION_TOPOLOGY = 1 << 4 NTDSCONN_KCC_INTERSITE_GC_TOPOLOGY = 1 << 5 NTDSCONN_KCC_INTERSITE_TOPOLOGY = 1 << 6 NTDSCONN_KCC_SERVER_FAILOVER_TOPOLOGY = 1 << 7 NTDSCONN_KCC_SITE_FAILOVER_TOPOLOGY = 1 << 8 NTDSCONN_KCC_REDUNDANT_SERVER_TOPOLOGY = 1 << 9 FRSCONN_PRIORITY_MASK = 0x70000000 FRSCONN_MAX_PRIORITY = 0x8 NTDSCONN_OPT_IGNORE_SCHEDULE_MASK = -2147483648 NTDSSETTINGS_OPT_IS_AUTO_TOPOLOGY_DISABLED = 1 << 0 NTDSSETTINGS_OPT_IS_TOPL_CLEANUP_DISABLED = 1 << 1 NTDSSETTINGS_OPT_IS_TOPL_MIN_HOPS_DISABLED = 1 << 2 NTDSSETTINGS_OPT_IS_TOPL_DETECT_STALE_DISABLED = 1 << 3 NTDSSETTINGS_OPT_IS_INTER_SITE_AUTO_TOPOLOGY_DISABLED = 1 << 4 NTDSSETTINGS_OPT_IS_GROUP_CACHING_ENABLED = 1 << 5 NTDSSETTINGS_OPT_FORCE_KCC_WHISTLER_BEHAVIOR = 1 << 6 NTDSSETTINGS_OPT_FORCE_KCC_W2K_ELECTION = 1 << 7 NTDSSETTINGS_OPT_IS_RAND_BH_SELECTION_DISABLED = 1 << 8 NTDSSETTINGS_OPT_IS_SCHEDULE_HASHING_ENABLED = 1 << 9 NTDSSETTINGS_OPT_IS_REDUNDANT_SERVER_TOPOLOGY_ENABLED = 1 << 10 NTDSSETTINGS_DEFAULT_SERVER_REDUNDANCY = 2 NTDSTRANSPORT_OPT_IGNORE_SCHEDULES = 1 << 0 NTDSTRANSPORT_OPT_BRIDGES_REQUIRED = 1 << 1 NTDSSITECONN_OPT_USE_NOTIFY = 1 << 0 NTDSSITECONN_OPT_TWOWAY_SYNC = 1 << 1 NTDSSITECONN_OPT_DISABLE_COMPRESSION = 1 << 2 NTDSSITELINK_OPT_USE_NOTIFY = 1 << 0 NTDSSITELINK_OPT_TWOWAY_SYNC = 1 << 1 NTDSSITELINK_OPT_DISABLE_COMPRESSION = 1 << 2 GUID_USERS_CONTAINER_A = "a9d1ca15768811d1aded00c04fd8d5cd" GUID_COMPUTRS_CONTAINER_A = "aa312825768811d1aded00c04fd8d5cd" GUID_SYSTEMS_CONTAINER_A = "ab1d30f3768811d1aded00c04fd8d5cd" GUID_DOMAIN_CONTROLLERS_CONTAINER_A = "a361b2ffffd211d1aa4b00c04fd7d83a" GUID_INFRASTRUCTURE_CONTAINER_A = "2fbac1870ade11d297c400c04fd8d5cd" GUID_DELETED_OBJECTS_CONTAINER_A = "18e2ea80684f11d2b9aa00c04f79f805" GUID_LOSTANDFOUND_CONTAINER_A = "ab8153b7768811d1aded00c04fd8d5cd" GUID_FOREIGNSECURITYPRINCIPALS_CONTAINER_A = "22b70c67d56e4efb91e9300fca3dc1aa" GUID_PROGRAM_DATA_CONTAINER_A = "09460c08ae1e4a4ea0f64aee7daa1e5a" GUID_MICROSOFT_PROGRAM_DATA_CONTAINER_A = "f4be92a4c777485e878e9421d53087db" GUID_NTDS_QUOTAS_CONTAINER_A = "6227f0af1fc2410d8e3bb10615bb5b0f" GUID_USERS_CONTAINER_BYTE = ( "\xa9\xd1\xca\x15\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" ) GUID_COMPUTRS_CONTAINER_BYTE = ( "\xaa\x31\x28\x25\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" ) GUID_SYSTEMS_CONTAINER_BYTE = ( "\xab\x1d\x30\xf3\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" ) GUID_DOMAIN_CONTROLLERS_CONTAINER_BYTE = ( "\xa3\x61\xb2\xff\xff\xd2\x11\xd1\xaa\x4b\x00\xc0\x4f\xd7\xd8\x3a" ) GUID_INFRASTRUCTURE_CONTAINER_BYTE = ( "\x2f\xba\xc1\x87\x0a\xde\x11\xd2\x97\xc4\x00\xc0\x4f\xd8\xd5\xcd" ) GUID_DELETED_OBJECTS_CONTAINER_BYTE = ( "\x18\xe2\xea\x80\x68\x4f\x11\xd2\xb9\xaa\x00\xc0\x4f\x79\xf8\x05" ) GUID_LOSTANDFOUND_CONTAINER_BYTE = ( "\xab\x81\x53\xb7\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" ) GUID_FOREIGNSECURITYPRINCIPALS_CONTAINER_BYTE = ( "\x22\xb7\x0c\x67\xd5\x6e\x4e\xfb\x91\xe9\x30\x0f\xca\x3d\xc1\xaa" ) GUID_PROGRAM_DATA_CONTAINER_BYTE = ( "\x09\x46\x0c\x08\xae\x1e\x4a\x4e\xa0\xf6\x4a\xee\x7d\xaa\x1e\x5a" ) GUID_MICROSOFT_PROGRAM_DATA_CONTAINER_BYTE = ( "\xf4\xbe\x92\xa4\xc7\x77\x48\x5e\x87\x8e\x94\x21\xd5\x30\x87\xdb" ) GUID_NTDS_QUOTAS_CONTAINER_BYTE = ( "\x62\x27\xf0\xaf\x1f\xc2\x41\x0d\x8e\x3b\xb1\x06\x15\xbb\x5b\x0f" ) DS_REPSYNCALL_NO_OPTIONS = 0x00000000 DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE = 0x00000001 DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY = 0x00000002 DS_REPSYNCALL_ID_SERVERS_BY_DN = 0x00000004 DS_REPSYNCALL_DO_NOT_SYNC = 0x00000008 DS_REPSYNCALL_SKIP_INITIAL_CHECK = 0x00000010 DS_REPSYNCALL_PUSH_CHANGES_OUTWARD = 0x00000020 DS_REPSYNCALL_CROSS_SITE_BOUNDARIES = 0x00000040 DS_LIST_DSA_OBJECT_FOR_SERVER = 0 DS_LIST_DNS_HOST_NAME_FOR_SERVER = 1 DS_LIST_ACCOUNT_OBJECT_FOR_SERVER = 2 DS_ROLE_SCHEMA_OWNER = 0 DS_ROLE_DOMAIN_OWNER = 1 DS_ROLE_PDC_OWNER = 2 DS_ROLE_RID_OWNER = 3 DS_ROLE_INFRASTRUCTURE_OWNER = 4 DS_SCHEMA_GUID_NOT_FOUND = 0 DS_SCHEMA_GUID_ATTR = 1 DS_SCHEMA_GUID_ATTR_SET = 2 DS_SCHEMA_GUID_CLASS = 3 DS_SCHEMA_GUID_CONTROL_RIGHT = 4 DS_KCC_FLAG_ASYNC_OP = 1 << 0 DS_KCC_FLAG_DAMPED = 1 << 1 DS_EXIST_ADVISORY_MODE = 0x1 DS_REPL_INFO_FLAG_IMPROVE_LINKED_ATTRS = 0x00000001 DS_REPL_NBR_WRITEABLE = 0x00000010 DS_REPL_NBR_SYNC_ON_STARTUP = 0x00000020 DS_REPL_NBR_DO_SCHEDULED_SYNCS = 0x00000040 DS_REPL_NBR_USE_ASYNC_INTERSITE_TRANSPORT = 0x00000080 DS_REPL_NBR_TWO_WAY_SYNC = 0x00000200 DS_REPL_NBR_RETURN_OBJECT_PARENTS = 0x00000800 DS_REPL_NBR_FULL_SYNC_IN_PROGRESS = 0x00010000 DS_REPL_NBR_FULL_SYNC_NEXT_PACKET = 0x00020000 DS_REPL_NBR_NEVER_SYNCED = 0x00200000 DS_REPL_NBR_PREEMPTED = 0x01000000 DS_REPL_NBR_IGNORE_CHANGE_NOTIFICATIONS = 0x04000000 DS_REPL_NBR_DISABLE_SCHEDULED_SYNC = 0x08000000 DS_REPL_NBR_COMPRESS_CHANGES = 0x10000000 DS_REPL_NBR_NO_CHANGE_NOTIFICATIONS = 0x20000000 DS_REPL_NBR_PARTIAL_ATTRIBUTE_SET = 0x40000000 DS_REPL_NBR_MODIFIABLE_MASK = ( DS_REPL_NBR_SYNC_ON_STARTUP | DS_REPL_NBR_DO_SCHEDULED_SYNCS | DS_REPL_NBR_TWO_WAY_SYNC | DS_REPL_NBR_IGNORE_CHANGE_NOTIFICATIONS | DS_REPL_NBR_DISABLE_SCHEDULED_SYNC | DS_REPL_NBR_COMPRESS_CHANGES | DS_REPL_NBR_NO_CHANGE_NOTIFICATIONS ) # from enum DS_NAME_FORMAT DS_UNKNOWN_NAME = 0 DS_FQDN_1779_NAME = 1 DS_NT4_ACCOUNT_NAME = 2 DS_DISPLAY_NAME = 3 DS_UNIQUE_ID_NAME = 6 DS_CANONICAL_NAME = 7 DS_USER_PRINCIPAL_NAME = 8 DS_CANONICAL_NAME_EX = 9 DS_SERVICE_PRINCIPAL_NAME = 10 DS_SID_OR_SID_HISTORY_NAME = 11 DS_DNS_DOMAIN_NAME = 12 DS_DOMAIN_SIMPLE_NAME = DS_USER_PRINCIPAL_NAME DS_ENTERPRISE_SIMPLE_NAME = DS_USER_PRINCIPAL_NAME # from enum DS_NAME_FLAGS DS_NAME_NO_FLAGS = 0x0 DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1 DS_NAME_FLAG_EVAL_AT_DC = 0x2 DS_NAME_FLAG_GCVERIFY = 0x4 DS_NAME_FLAG_TRUST_REFERRAL = 0x8 # from enum DS_NAME_ERROR DS_NAME_NO_ERROR = 0 DS_NAME_ERROR_RESOLVING = 1 DS_NAME_ERROR_NOT_FOUND = 2 DS_NAME_ERROR_NOT_UNIQUE = 3 DS_NAME_ERROR_NO_MAPPING = 4 DS_NAME_ERROR_DOMAIN_ONLY = 5 DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 6 DS_NAME_ERROR_TRUST_REFERRAL = 7 # from enum DS_SPN_NAME_TYPE DS_SPN_DNS_HOST = 0 DS_SPN_DN_HOST = 1 DS_SPN_NB_HOST = 2 DS_SPN_DOMAIN = 3 DS_SPN_NB_DOMAIN = 4 DS_SPN_SERVICE = 5 # from enum DS_SPN_WRITE_OP DS_SPN_ADD_SPN_OP = 0 DS_SPN_REPLACE_SPN_OP = 1 DS_SPN_DELETE_SPN_OP = 2 # Generated by h2py from DsGetDC.h DS_FORCE_REDISCOVERY = 0x00000001 DS_DIRECTORY_SERVICE_REQUIRED = 0x00000010 DS_DIRECTORY_SERVICE_PREFERRED = 0x00000020 DS_GC_SERVER_REQUIRED = 0x00000040 DS_PDC_REQUIRED = 0x00000080 DS_BACKGROUND_ONLY = 0x00000100 DS_IP_REQUIRED = 0x00000200 DS_KDC_REQUIRED = 0x00000400 DS_TIMESERV_REQUIRED = 0x00000800 DS_WRITABLE_REQUIRED = 0x00001000 DS_GOOD_TIMESERV_PREFERRED = 0x00002000 DS_AVOID_SELF = 0x00004000 DS_ONLY_LDAP_NEEDED = 0x00008000 DS_IS_FLAT_NAME = 0x00010000 DS_IS_DNS_NAME = 0x00020000 DS_RETURN_DNS_NAME = 0x40000000 DS_RETURN_FLAT_NAME = -2147483648 DSGETDC_VALID_FLAGS = ( DS_FORCE_REDISCOVERY | DS_DIRECTORY_SERVICE_REQUIRED | DS_DIRECTORY_SERVICE_PREFERRED | DS_GC_SERVER_REQUIRED | DS_PDC_REQUIRED | DS_BACKGROUND_ONLY | DS_IP_REQUIRED | DS_KDC_REQUIRED | DS_TIMESERV_REQUIRED | DS_WRITABLE_REQUIRED | DS_GOOD_TIMESERV_PREFERRED | DS_AVOID_SELF | DS_ONLY_LDAP_NEEDED | DS_IS_FLAT_NAME | DS_IS_DNS_NAME | DS_RETURN_FLAT_NAME | DS_RETURN_DNS_NAME ) DS_INET_ADDRESS = 1 DS_NETBIOS_ADDRESS = 2 DS_PDC_FLAG = 0x00000001 DS_GC_FLAG = 0x00000004 DS_LDAP_FLAG = 0x00000008 DS_DS_FLAG = 0x00000010 DS_KDC_FLAG = 0x00000020 DS_TIMESERV_FLAG = 0x00000040 DS_CLOSEST_FLAG = 0x00000080 DS_WRITABLE_FLAG = 0x00000100 DS_GOOD_TIMESERV_FLAG = 0x00000200 DS_NDNC_FLAG = 0x00000400 DS_PING_FLAGS = 0x0000FFFF DS_DNS_CONTROLLER_FLAG = 0x20000000 DS_DNS_DOMAIN_FLAG = 0x40000000 DS_DNS_FOREST_FLAG = -2147483648 DS_DOMAIN_IN_FOREST = 0x0001 DS_DOMAIN_DIRECT_OUTBOUND = 0x0002 DS_DOMAIN_TREE_ROOT = 0x0004 DS_DOMAIN_PRIMARY = 0x0008 DS_DOMAIN_NATIVE_MODE = 0x0010 DS_DOMAIN_DIRECT_INBOUND = 0x0020 DS_DOMAIN_VALID_FLAGS = ( DS_DOMAIN_IN_FOREST | DS_DOMAIN_DIRECT_OUTBOUND | DS_DOMAIN_TREE_ROOT | DS_DOMAIN_PRIMARY | DS_DOMAIN_NATIVE_MODE | DS_DOMAIN_DIRECT_INBOUND ) DS_GFTI_UPDATE_TDO = 0x1 DS_GFTI_VALID_FLAGS = 0x1 DS_ONLY_DO_SITE_NAME = 0x01 DS_NOTIFY_AFTER_SITE_RECORDS = 0x02 DS_OPEN_VALID_OPTION_FLAGS = DS_ONLY_DO_SITE_NAME | DS_NOTIFY_AFTER_SITE_RECORDS DS_OPEN_VALID_FLAGS = ( DS_FORCE_REDISCOVERY | DS_ONLY_LDAP_NEEDED | DS_KDC_REQUIRED | DS_PDC_REQUIRED | DS_GC_SERVER_REQUIRED | DS_WRITABLE_REQUIRED ) ## from aclui.h # SI_OBJECT_INFO.dwFlags SI_EDIT_PERMS = 0x00000000 SI_EDIT_OWNER = 0x00000001 SI_EDIT_AUDITS = 0x00000002 SI_CONTAINER = 0x00000004 SI_READONLY = 0x00000008 SI_ADVANCED = 0x00000010 SI_RESET = 0x00000020 SI_OWNER_READONLY = 0x00000040 SI_EDIT_PROPERTIES = 0x00000080 SI_OWNER_RECURSE = 0x00000100 SI_NO_ACL_PROTECT = 0x00000200 SI_NO_TREE_APPLY = 0x00000400 SI_PAGE_TITLE = 0x00000800 SI_SERVER_IS_DC = 0x00001000 SI_RESET_DACL_TREE = 0x00004000 SI_RESET_SACL_TREE = 0x00008000 SI_OBJECT_GUID = 0x00010000 SI_EDIT_EFFECTIVE = 0x00020000 SI_RESET_DACL = 0x00040000 SI_RESET_SACL = 0x00080000 SI_RESET_OWNER = 0x00100000 SI_NO_ADDITIONAL_PERMISSION = 0x00200000 SI_MAY_WRITE = 0x10000000 SI_EDIT_ALL = SI_EDIT_PERMS | SI_EDIT_OWNER | SI_EDIT_AUDITS SI_AUDITS_ELEVATION_REQUIRED = 0x02000000 SI_VIEW_ONLY = 0x00400000 SI_OWNER_ELEVATION_REQUIRED = 0x04000000 SI_PERMS_ELEVATION_REQUIRED = 0x01000000 # SI_ACCESS.dwFlags SI_ACCESS_SPECIFIC = 0x00010000 SI_ACCESS_GENERAL = 0x00020000 SI_ACCESS_CONTAINER = 0x00040000 SI_ACCESS_PROPERTY = 0x00080000 # SI_PAGE_TYPE enum SI_PAGE_PERM = 0 SI_PAGE_ADVPERM = 1 SI_PAGE_AUDIT = 2 SI_PAGE_OWNER = 3 SI_PAGE_EFFECTIVE = 4 CFSTR_ACLUI_SID_INFO_LIST = "CFSTR_ACLUI_SID_INFO_LIST" PSPCB_SI_INITDIALOG = 1025 ## WM_USER+1