1 | /*
|
---|
2 | dssetup interface definition
|
---|
3 | */
|
---|
4 |
|
---|
5 | import "misc.idl";
|
---|
6 |
|
---|
7 | [
|
---|
8 | uuid("3919286a-b10c-11d0-9ba8-00c04fd92ef5"),
|
---|
9 | version(0.0),
|
---|
10 | endpoint("ncacn_np:[\\pipe\\lsarpc]", "ncacn_np:[\\pipe\\lsass]", "ncacn_ip_tcp:", "ncalrpc:"),
|
---|
11 | pointer_default(unique),
|
---|
12 | helpstring("Active Directory Setup")
|
---|
13 | ] interface dssetup
|
---|
14 | {
|
---|
15 | /**********************************************/
|
---|
16 | /* Function 0x00 */
|
---|
17 |
|
---|
18 | typedef enum {
|
---|
19 | DS_ROLE_STANDALONE_WORKSTATION = 0,
|
---|
20 | DS_ROLE_MEMBER_WORKSTATION = 1,
|
---|
21 | DS_ROLE_STANDALONE_SERVER = 2,
|
---|
22 | DS_ROLE_MEMBER_SERVER = 3,
|
---|
23 | DS_ROLE_BACKUP_DC = 4,
|
---|
24 | DS_ROLE_PRIMARY_DC = 5
|
---|
25 | } dssetup_DsRole;
|
---|
26 |
|
---|
27 | typedef [bitmap32bit] bitmap {
|
---|
28 | DS_ROLE_PRIMARY_DS_RUNNING = 0x00000001,
|
---|
29 | DS_ROLE_PRIMARY_DS_MIXED_MODE = 0x00000002,
|
---|
30 | DS_ROLE_UPGRADE_IN_PROGRESS = 0x00000004,
|
---|
31 | DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT = 0x01000000
|
---|
32 | } dssetup_DsRoleFlags;
|
---|
33 |
|
---|
34 | typedef struct {
|
---|
35 | dssetup_DsRole role;
|
---|
36 | dssetup_DsRoleFlags flags;
|
---|
37 | [charset(UTF16),string] uint16 *domain;
|
---|
38 | [charset(UTF16),string] uint16 *dns_domain;
|
---|
39 | [charset(UTF16),string] uint16 *forest;
|
---|
40 | GUID domain_guid;
|
---|
41 | } dssetup_DsRolePrimaryDomInfoBasic;
|
---|
42 |
|
---|
43 | typedef [v1_enum] enum {
|
---|
44 | DS_ROLE_NOT_UPGRADING = 0,
|
---|
45 | DS_ROLE_UPGRADING = 1
|
---|
46 | } dssetup_DsUpgrade;
|
---|
47 |
|
---|
48 | typedef enum {
|
---|
49 | DS_ROLE_PREVIOUS_UNKNOWN = 0,
|
---|
50 | DS_ROLE_PREVIOUS_PRIMARY = 1,
|
---|
51 | DS_ROLE_PREVIOUS_BACKUP = 2
|
---|
52 | } dssetup_DsPrevious;
|
---|
53 |
|
---|
54 | typedef struct {
|
---|
55 | dssetup_DsUpgrade upgrading;
|
---|
56 | dssetup_DsPrevious previous_role;
|
---|
57 | } dssetup_DsRoleUpgradeStatus;
|
---|
58 |
|
---|
59 | typedef enum {
|
---|
60 | DS_ROLE_OP_IDLE = 0,
|
---|
61 | DS_ROLE_OP_ACTIVE = 1,
|
---|
62 | DS_ROLE_OP_NEEDS_REBOOT = 2
|
---|
63 | } dssetup_DsRoleOp;
|
---|
64 |
|
---|
65 | typedef struct {
|
---|
66 | dssetup_DsRoleOp status;
|
---|
67 | } dssetup_DsRoleOpStatus;
|
---|
68 |
|
---|
69 | typedef enum {
|
---|
70 | DS_ROLE_BASIC_INFORMATION = 1,
|
---|
71 | DS_ROLE_UPGRADE_STATUS = 2,
|
---|
72 | DS_ROLE_OP_STATUS = 3
|
---|
73 | } dssetup_DsRoleInfoLevel;
|
---|
74 |
|
---|
75 | typedef [switch_type(dssetup_DsRoleInfoLevel)] union {
|
---|
76 | [case(DS_ROLE_BASIC_INFORMATION)] dssetup_DsRolePrimaryDomInfoBasic basic;
|
---|
77 | [case(DS_ROLE_UPGRADE_STATUS)] dssetup_DsRoleUpgradeStatus upgrade;
|
---|
78 | [case(DS_ROLE_OP_STATUS)] dssetup_DsRoleOpStatus opstatus;
|
---|
79 | } dssetup_DsRoleInfo;
|
---|
80 |
|
---|
81 | WERROR dssetup_DsRoleGetPrimaryDomainInformation(
|
---|
82 | [in] dssetup_DsRoleInfoLevel level,
|
---|
83 | [out,switch_is(level),unique] dssetup_DsRoleInfo *info
|
---|
84 | );
|
---|
85 |
|
---|
86 | /*
|
---|
87 | w2k3 has removed all the calls below from their implementation.
|
---|
88 | These stubs are left here only as a way of documenting the names
|
---|
89 | of the calls in case they ever turn up on the wire.
|
---|
90 | */
|
---|
91 | [todo] WERROR dssetup_DsRoleDnsNameToFlatName();
|
---|
92 | [todo] WERROR dssetup_DsRoleDcAsDc();
|
---|
93 | [todo] WERROR dssetup_DsRoleDcAsReplica();
|
---|
94 | [todo] WERROR dssetup_DsRoleDemoteDc();
|
---|
95 | [todo] WERROR dssetup_DsRoleGetDcOperationProgress();
|
---|
96 | [todo] WERROR dssetup_DsRoleGetDcOperationResults();
|
---|
97 | [todo] WERROR dssetup_DsRoleCancel();
|
---|
98 | [todo] WERROR dssetup_DsRoleServerSaveStateForUpgrade();
|
---|
99 | [todo] WERROR dssetup_DsRoleUpgradeDownlevelServer();
|
---|
100 | [todo] WERROR dssetup_DsRoleAbortDownlevelServerUpgrade();
|
---|
101 | }
|
---|