|
1 /* |
|
2 * dsrole.h - Active Directory |
|
3 * |
|
4 * THIS SOFTWARE IS NOT COPYRIGHTED |
|
5 * |
|
6 * This source code is offered for use in the public domain. You may use, |
|
7 * modify or distribute it freely. |
|
8 * |
|
9 * This code is distributed in the hope that it will be useful but |
|
10 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY |
|
11 * DISCLAIMED. This includes but is not limited to warranties of |
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
13 * |
|
14 */ |
|
15 #ifndef _DSROLE_H |
|
16 #define _DSROLE_H |
|
17 #if __GNUC__ >= 3 |
|
18 #pragma GCC system_header |
|
19 #endif |
|
20 |
|
21 #ifdef __cplusplus |
|
22 extern "C" { |
|
23 #endif |
|
24 |
|
25 #if (_WIN32_WINNT >= 0x0500) |
|
26 /*--- Active Directory Reference - Active Directory Enumerations */ |
|
27 typedef enum { |
|
28 DsRole_RoleStandaloneWorkstation, |
|
29 DsRole_RoleMemberWorkstation, |
|
30 DsRole_RoleStandaloneServer, |
|
31 DsRole_RoleMemberServer, |
|
32 DsRole_RoleBackupDomainController, |
|
33 DsRole_RolePrimaryDomainController |
|
34 } DSROLE_MACHINE_ROLE; |
|
35 typedef enum { |
|
36 DsRoleOperationIdle, |
|
37 DsRoleOperationActive, |
|
38 DsRoleOperationNeedReboot |
|
39 } DSROLE_OPERATION_STATE; |
|
40 typedef enum { |
|
41 DsRolePrimaryDomainInfoBasic, |
|
42 DsRoleUpgradeStatus, |
|
43 DsRoleOperationState |
|
44 } DSROLE_PRIMARY_DOMAIN_INFO_LEVEL; |
|
45 typedef enum { |
|
46 DsRoleServerUnknown, |
|
47 DsRoleServerPrimary, |
|
48 DsRoleServerBackup |
|
49 } DSROLE_SERVER_STATE; |
|
50 /*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */ |
|
51 typedef struct { |
|
52 DSROLE_OPERATION_STATE OperationState; |
|
53 } DSROLE_OPERATION_STATE_INFO; |
|
54 typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC { |
|
55 DSROLE_MACHINE_ROLE MachineRole; |
|
56 ULONG Flags; |
|
57 LPWSTR DomainNameFlat; |
|
58 LPWSTR DomainNameDns; |
|
59 LPWSTR DomainForestName; |
|
60 GUID DomainGuid; |
|
61 } DSROLE_PRIMARY_DOMAIN_INFO_BASIC,*PDSROLE_PRIMARY_DOMAIN_INFO_BASIC; |
|
62 #define DSROLE_PRIMARY_DS_RUNNING 0x00000001 |
|
63 #define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002 |
|
64 #define DSROLE_UPGRADE_IN_PROGRESS 0x00000004 |
|
65 #define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000 |
|
66 typedef struct _DSROLE_UPGRADE_STATUS_INFO { |
|
67 ULONG OperationState; |
|
68 DSROLE_SERVER_STATE PreviousServerState; |
|
69 } DSROLE_UPGRADE_STATUS_INFO,*PDSROLE_UPGRADE_STATUS_INFO; |
|
70 #endif /* (_WIN32_WINNT >= 0x0500) */ |
|
71 |
|
72 #ifdef __cplusplus |
|
73 } |
|
74 #endif |
|
75 #endif |