[1166] | 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
|
---|