2.2.1.2.1 DOMAIN_CONTROLLER_INFOW

The DOMAIN_CONTROLLER_INFOW structure SHOULD<8> define information returned by the following methods: DsrGetDcName (section 3.5.4.3.3), DsrGetDcNameEx (section 3.5.4.3.2), and DsrGetDcNameEx2 (section 3.5.4.3.1). This structure is used to describe naming and addressing information about a DC.

 typedef struct _DOMAIN_CONTROLLER_INFOW {
   [string, unique] wchar_t* DomainControllerName;
   [string, unique] wchar_t* DomainControllerAddress;
   ULONG DomainControllerAddressType;
   GUID DomainGuid;
   [string, unique] wchar_t* DomainName;
   [string, unique] wchar_t* DnsForestName;
   ULONG Flags;
   [string, unique] wchar_t* DcSiteName;
   [string, unique] wchar_t* ClientSiteName;
 } DOMAIN_CONTROLLER_INFOW,
  *PDOMAIN_CONTROLLER_INFOW;

DomainControllerName: A pointer to a null-terminated UTF-16 string that contains a NetBIOS or fully qualified domain name (FQDN) of the DC, prefixed with "\\".

DomainControllerAddress: A pointer to a null-terminated Unicode string that contains the DC address, prefixed with "\\". The string SHOULD<9> be either a textual representation of an IPv4/IPv6 address or the NetBIOS name of the DC, determined by the DomainControllerAddressType field.

DomainControllerAddressType: A 32-bit value indicating the DC address type, which MUST be one, and only one, of the following.

Value

Meaning

0x00000001

The address is a string that contains an IPv4 address in dotted-decimal notation (for example, 192.168.0.1), or an IPv6 address in colon-separated notation.<10>

0x00000002

The address is a NetBIOS name.

DomainGuid: A globally unique identifier (GUID) structure ([MS-DTYP] section 2.3.4.1) that contains an identifier for the domain. When there is no domain GUID, this field MUST be set to zero. A GUID SHOULD<11> be used across all computers and networks wherever a unique identifier is required.

DomainName: A pointer to a Unicode string that contains the NetBIOS or FQDN of the domain.

DnsForestName: A pointer to a null-terminated Unicode string that contains the FQDN of the forest.

Flags: A set of bit flags in little-endian format that describe the features and roles of the DC. A flag is TRUE (or set) if its value is equal to 1. The value is constructed from zero or more bit flags from the following table, with the exceptions that bit J cannot be combined with A, B, D, E, or P; bit F cannot be combined with I; and bit K cannot be combined with L.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

O

N

M

0

0

0

0

0

0

0

0

0

0

0

T

S

R

Q

P

L

K

J

I

H

G

F

E

D

C

B

0

A

Where the bits are defined as:

Value

Description

A

The DC is the domain's primary domain controller (PDC).

B

The DC contains the global catalog (GC) for the forest Active Directory.

C

The DC supports the Lightweight Directory Access Protocol (LDAP).

D

The DC supports a directory service.

E

The DC is a Kerberos Key Distribution Center (KDC).

F

The DC has a network time service available but no clock hardware.

G

The DC is in the closest site to the client.

H

The DC has a writable directory service available.

I

The DC has clock hardware and a network time service available.

J

The DC is an LDAP server servicing an Application naming context (NC) ([MS-ADTS] section 3.1.1.1.5).

K

The DC is a read-only domain controller (RODC).<12>

L

The server is a writable domain controller.<13>

M

The DC's name is a DNS name.

N

The DC's domain name is a DNS name.

O

The DC's forest name is a DNS name.

P

The DC has an Active Directory Web Service available.<14>

Q

The DC has a functional level of DS_BEHAVIOR_WIN2012 or later.

R

The DC has a functional level of DS_BEHAVIOR_WIN2012R2 or later.

S

The DC has a functional level of DS_BEHAVIOR_WIN2016 or later.

T

The DC supports key list requests, as specified in [MS-KILE] section 2.2.11. If this bit is set, bit S and bit E MUST also be set.

All other bits MUST be set to zero and MUST be ignored on receipt.

DcSiteName: A pointer to a null-terminated Unicode string that SHOULD<15> contain the site name that is associated with the DC. When there is no associated site, this field MUST be NULL.

ClientSiteName: A pointer to a null-terminated Unicode string that contains the client's site name. When there is no client site name, this field MUST be NULL.