| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef __DSROLE_H__ | |
| #define __DSROLE_H__ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef enum _DSROLE_MACHINE_ROLE { | |
| DsRole_RoleStandaloneWorkstation,DsRole_RoleMemberWorkstation,DsRole_RoleStandaloneServer, | |
| DsRole_RoleMemberServer,DsRole_RoleBackupDomainController,DsRole_RolePrimaryDomainController | |
| } DSROLE_MACHINE_ROLE; | |
| typedef enum _DSROLE_SERVER_STATE { | |
| DsRoleServerUnknown = 0,DsRoleServerPrimary,DsRoleServerBackup | |
| } DSROLE_SERVER_STATE,*PDSROLE_SERVER_STATE; | |
| typedef enum _DSROLE_PRIMARY_DOMAIN_INFO_LEVEL { | |
| DsRolePrimaryDomainInfoBasic = 1,DsRoleUpgradeStatus,DsRoleOperationState | |
| } DSROLE_PRIMARY_DOMAIN_INFO_LEVEL; | |
| #define DSROLE_PRIMARY_DS_RUNNING 0x00000001 | |
| #define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002 | |
| #define DSROLE_UPGRADE_IN_PROGRESS 0x00000004 | |
| #define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000 | |
| typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC { | |
| DSROLE_MACHINE_ROLE MachineRole; | |
| ULONG Flags; | |
| LPWSTR DomainNameFlat; | |
| LPWSTR DomainNameDns; | |
| LPWSTR DomainForestName; | |
| GUID DomainGuid; | |
| } DSROLE_PRIMARY_DOMAIN_INFO_BASIC,*PDSROLE_PRIMARY_DOMAIN_INFO_BASIC; | |
| typedef struct _DSROLE_UPGRADE_STATUS_INFO { | |
| ULONG OperationState; | |
| DSROLE_SERVER_STATE PreviousServerState; | |
| } DSROLE_UPGRADE_STATUS_INFO,*PDSROLE_UPGRADE_STATUS_INFO; | |
| typedef enum _DSROLE_OPERATION_STATE { | |
| DsRoleOperationIdle = 0,DsRoleOperationActive,DsRoleOperationNeedReboot | |
| } DSROLE_OPERATION_STATE; | |
| typedef struct _DSROLE_OPERATION_STATE_INFO { | |
| DSROLE_OPERATION_STATE OperationState; | |
| } DSROLE_OPERATION_STATE_INFO,*PDSROLE_OPERATION_STATE_INFO; | |
| DWORD WINAPI DsRoleGetPrimaryDomainInformation(LPCWSTR lpServer,DSROLE_PRIMARY_DOMAIN_INFO_LEVEL InfoLevel,PBYTE *Buffer); | |
| VOID WINAPI DsRoleFreeMemory(PVOID Buffer); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |