/* dssetup interface definition */ import "misc.idl"; [ uuid("3919286a-b10c-11d0-9ba8-00c04fd92ef5"), version(0.0), endpoint("ncacn_np:[\\pipe\\lsarpc]", "ncacn_np:[\\pipe\\lsass]", "ncacn_ip_tcp:", "ncalrpc:"), pointer_default(unique), helpstring("Active Directory Setup") ] interface dssetup { /**********************************************/ /* Function 0x00 */ typedef enum { DS_ROLE_STANDALONE_WORKSTATION = 0, DS_ROLE_MEMBER_WORKSTATION = 1, DS_ROLE_STANDALONE_SERVER = 2, DS_ROLE_MEMBER_SERVER = 3, DS_ROLE_BACKUP_DC = 4, DS_ROLE_PRIMARY_DC = 5 } dssetup_DsRole; typedef [bitmap32bit] bitmap { DS_ROLE_PRIMARY_DS_RUNNING = 0x00000001, DS_ROLE_PRIMARY_DS_MIXED_MODE = 0x00000002, DS_ROLE_UPGRADE_IN_PROGRESS = 0x00000004, DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT = 0x01000000 } dssetup_DsRoleFlags; typedef struct { dssetup_DsRole role; dssetup_DsRoleFlags flags; [charset(UTF16),string] uint16 *domain; [charset(UTF16),string] uint16 *dns_domain; [charset(UTF16),string] uint16 *forest; GUID domain_guid; } dssetup_DsRolePrimaryDomInfoBasic; typedef [v1_enum] enum { DS_ROLE_NOT_UPGRADING = 0, DS_ROLE_UPGRADING = 1 } dssetup_DsUpgrade; typedef enum { DS_ROLE_PREVIOUS_UNKNOWN = 0, DS_ROLE_PREVIOUS_PRIMARY = 1, DS_ROLE_PREVIOUS_BACKUP = 2 } dssetup_DsPrevious; typedef struct { dssetup_DsUpgrade upgrading; dssetup_DsPrevious previous_role; } dssetup_DsRoleUpgradeStatus; typedef enum { DS_ROLE_OP_IDLE = 0, DS_ROLE_OP_ACTIVE = 1, DS_ROLE_OP_NEEDS_REBOOT = 2 } dssetup_DsRoleOp; typedef struct { dssetup_DsRoleOp status; } dssetup_DsRoleOpStatus; typedef enum { DS_ROLE_BASIC_INFORMATION = 1, DS_ROLE_UPGRADE_STATUS = 2, DS_ROLE_OP_STATUS = 3 } dssetup_DsRoleInfoLevel; typedef [switch_type(dssetup_DsRoleInfoLevel)] union { [case(DS_ROLE_BASIC_INFORMATION)] dssetup_DsRolePrimaryDomInfoBasic basic; [case(DS_ROLE_UPGRADE_STATUS)] dssetup_DsRoleUpgradeStatus upgrade; [case(DS_ROLE_OP_STATUS)] dssetup_DsRoleOpStatus opstatus; } dssetup_DsRoleInfo; WERROR dssetup_DsRoleGetPrimaryDomainInformation( [in] dssetup_DsRoleInfoLevel level, [out,switch_is(level),unique] dssetup_DsRoleInfo *info ); /* w2k3 has removed all the calls below from their implementation. These stubs are left here only as a way of documenting the names of the calls in case they ever turn up on the wire. */ [todo] WERROR dssetup_DsRoleDnsNameToFlatName(); [todo] WERROR dssetup_DsRoleDcAsDc(); [todo] WERROR dssetup_DsRoleDcAsReplica(); [todo] WERROR dssetup_DsRoleDemoteDc(); [todo] WERROR dssetup_DsRoleGetDcOperationProgress(); [todo] WERROR dssetup_DsRoleGetDcOperationResults(); [todo] WERROR dssetup_DsRoleCancel(); [todo] WERROR dssetup_DsRoleServerSaveStateForUpgrade(); [todo] WERROR dssetup_DsRoleUpgradeDownlevelServer(); [todo] WERROR dssetup_DsRoleAbortDownlevelServerUpgrade(); }