DOMAIN_CONTROLLER_INFOW structure (dsgetdc.h)

The DOMAIN_CONTROLLER_INFO structure is used with the DsGetDcName function to receive data about a domain controller.

Syntax

typedef struct _DOMAIN_CONTROLLER_INFOW {
#if ...
  wchar_t *DomainControllerName;
#else
  LPWSTR  DomainControllerName;
#endif
#if ...
  wchar_t *DomainControllerAddress;
#else
  LPWSTR  DomainControllerAddress;
#endif
  ULONG   DomainControllerAddressType;
  GUID    DomainGuid;
#if ...
  wchar_t *DomainName;
#else
  LPWSTR  DomainName;
#endif
#if ...
  wchar_t *DnsForestName;
#else
  LPWSTR  DnsForestName;
#endif
  ULONG   Flags;
#if ...
  wchar_t *DcSiteName;
#else
  LPWSTR  DcSiteName;
#endif
#if ...
  wchar_t *ClientSiteName;
#else
  LPWSTR  ClientSiteName;
#endif
} DOMAIN_CONTROLLER_INFOW, *PDOMAIN_CONTROLLER_INFOW;

Members

DomainControllerName

Pointer to a null-terminated string that specifies the computer name of the discovered domain controller. The returned computer name is prefixed with "\". The DNS-style name, for example, "\phoenix.fabrikam.com", is returned, if available. If the DNS-style name is not available, the flat-style name (for example, "\phoenix") is returned. This example would apply if the domain is a Windows NT 4.0 domain or if the domain does not support the IP family of protocols.

DomainControllerAddress

Pointer to a null-terminated string that specifies the address of the discovered domain controller. The address is prefixed with "\". This string is one of the types defined by the DomainControllerAddressType member.

DomainControllerAddressType

Indicates the type of string that is contained in the DomainControllerAddress member. This can be one of the following values.

DS_INET_ADDRESS

The address is a string IP address (for example, "\157.55.94.74") of the domain controller.

DS_NETBIOS_ADDRESS

The address is a NetBIOS name, for example, "\phoenix", of the domain controller.

DomainGuid

The GUID of the domain. This member is zero if the domain controller does not have a Domain GUID; for example, the domain controller is not a Windows 2000 domain controller.

DomainName

Pointer to a null-terminated string that specifies the name of the domain. The DNS-style name, for example, "fabrikam.com", is returned if available. Otherwise, the flat-style name, for example, "fabrikam", is returned. This name may be different than the requested domain name if the domain has been renamed.

DnsForestName

Pointer to a null-terminated string that specifies the name of the domain at the root of the DS tree. The DNS-style name, for example, "fabrikam.com", is returned if available. Otherwise, the flat-style name, for example, "fabrikam" is returned.

Flags

Contains a set of flags that describe the domain controller. This can be zero or a combination of one or more of the following values.

DS_DNS_CONTROLLER_FLAG

The DomainControllerName member is in DNS format.

DS_DNS_DOMAIN_FLAG

The DomainName member is in DNS format.

DS_DNS_FOREST_FLAG

The DnsForestName member is in DNS format.

DS_CLOSEST_FLAG

The domain controller is in the same site as the client.

DS_DS_FLAG

The domain controller is a directory service server for the domain.

DS_FULL_SECRET_DOMAIN_6_FLAG

The domain controller is a Windows 2008 or later writable domain controller.

DS_GOOD_TIMESERV_FLAG

The domain controller is running a reliable Windows Time Service for the domain.

DS_GC_FLAG

The domain controller is a global catalog server for the forest specified by DnsForestName.

DS_KDC_FLAG

The domain controller is a Kerberos Key Distribution Center for the domain.

DS_LDAP_FLAG

The server is an LDAP server.

DS_NDNC_FLAG

The Domain Name is an application (non-domain) naming context.

DS_PDC_FLAG

The domain controller is the primary domain controller of the domain.

DS_SELECT_SECRET_DOMAIN_6_FLAG

The domain controller is a Windows 2008 or later read-only domain controller.

DS_TIMESERV_FLAG

The domain controller is running the Windows Time Service for the domain.

DS_WRITABLE_FLAG

The domain controller hosts a writable directory service (or SAM).

DcSiteName

Pointer to a null-terminated string that specifies the name of the site where the domain controller is located. This member may be NULL if the domain controller is not in a site; for example, the domain controller is a Windows NT 4.0 domain controller.

ClientSiteName

Pointer to a null-terminated string that specifies the name of the site that the computer belongs to. The computer is specified in the ComputerName parameter passed to DsGetDcName. This member may be NULL if the site that contains the computer cannot be found; for example, if the DS administrator has not associated the subnet that the computer is in with a valid site.

Remarks

Note

The dsgetdc.h header defines DOMAIN_CONTROLLER_INFO as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Header dsgetdc.h

See also

Directory Service Structures

DsGetDcName