1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef __DSROLE_H__
|
---|
7 | #define __DSROLE_H__
|
---|
8 |
|
---|
9 | #ifdef __cplusplus
|
---|
10 | extern "C" {
|
---|
11 | #endif
|
---|
12 |
|
---|
13 | typedef enum _DSROLE_MACHINE_ROLE {
|
---|
14 | DsRole_RoleStandaloneWorkstation,DsRole_RoleMemberWorkstation,DsRole_RoleStandaloneServer,
|
---|
15 | DsRole_RoleMemberServer,DsRole_RoleBackupDomainController,DsRole_RolePrimaryDomainController
|
---|
16 | } DSROLE_MACHINE_ROLE;
|
---|
17 |
|
---|
18 | typedef enum _DSROLE_SERVER_STATE {
|
---|
19 | DsRoleServerUnknown = 0,DsRoleServerPrimary,DsRoleServerBackup
|
---|
20 | } DSROLE_SERVER_STATE,*PDSROLE_SERVER_STATE;
|
---|
21 |
|
---|
22 | typedef enum _DSROLE_PRIMARY_DOMAIN_INFO_LEVEL {
|
---|
23 | DsRolePrimaryDomainInfoBasic = 1,DsRoleUpgradeStatus,DsRoleOperationState
|
---|
24 | } DSROLE_PRIMARY_DOMAIN_INFO_LEVEL;
|
---|
25 |
|
---|
26 | #define DSROLE_PRIMARY_DS_RUNNING 0x00000001
|
---|
27 | #define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002
|
---|
28 | #define DSROLE_UPGRADE_IN_PROGRESS 0x00000004
|
---|
29 | #define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000
|
---|
30 |
|
---|
31 | typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC {
|
---|
32 | DSROLE_MACHINE_ROLE MachineRole;
|
---|
33 | ULONG Flags;
|
---|
34 | LPWSTR DomainNameFlat;
|
---|
35 | LPWSTR DomainNameDns;
|
---|
36 | LPWSTR DomainForestName;
|
---|
37 | GUID DomainGuid;
|
---|
38 | } DSROLE_PRIMARY_DOMAIN_INFO_BASIC,*PDSROLE_PRIMARY_DOMAIN_INFO_BASIC;
|
---|
39 |
|
---|
40 | typedef struct _DSROLE_UPGRADE_STATUS_INFO {
|
---|
41 | ULONG OperationState;
|
---|
42 | DSROLE_SERVER_STATE PreviousServerState;
|
---|
43 | } DSROLE_UPGRADE_STATUS_INFO,*PDSROLE_UPGRADE_STATUS_INFO;
|
---|
44 |
|
---|
45 | typedef enum _DSROLE_OPERATION_STATE {
|
---|
46 | DsRoleOperationIdle = 0,DsRoleOperationActive,DsRoleOperationNeedReboot
|
---|
47 | } DSROLE_OPERATION_STATE;
|
---|
48 |
|
---|
49 | typedef struct _DSROLE_OPERATION_STATE_INFO {
|
---|
50 | DSROLE_OPERATION_STATE OperationState;
|
---|
51 | } DSROLE_OPERATION_STATE_INFO,*PDSROLE_OPERATION_STATE_INFO;
|
---|
52 |
|
---|
53 | DWORD WINAPI DsRoleGetPrimaryDomainInformation(LPCWSTR lpServer,DSROLE_PRIMARY_DOMAIN_INFO_LEVEL InfoLevel,PBYTE *Buffer);
|
---|
54 | VOID WINAPI DsRoleFreeMemory(PVOID Buffer);
|
---|
55 |
|
---|
56 | #ifdef __cplusplus
|
---|
57 | }
|
---|
58 | #endif
|
---|
59 | #endif
|
---|