The NetGetAnyDCName function gets the name of any domain controller for a domain that is directly trusted by the server name.
No special group membership is required to successfully execute NetGetAnyDCName.
NET_API_STATUS NetGetAnyDCName(
LPCWSTR ServerName, |
LPCWSTR DomainName, |
OUT LPBYTE * Buffer |
); |
If ServerName is a standalone Windows NT Workstation or standalone Windows NT Server, no DomainName is valid. If ServerName is a Windows NT Workstation that is a member of a domain or a Windows NT Server member, the DomainName must be in the same domain as ServerName. If ServerName is a Windows NT Server domain controller, the DomainName must be one of the domains trusted by the domain for which the server is a controller . The domain controller that this call finds has been operational at least once during this call.
If the function succeeds, the return value is NERR_Success.
If the function fails, the return value is one of the following error codes.
Value |
Meaning |
ERROR_SUCCESS |
Buffer successfully contains the name of the domain controller prefixed by \\. |
ERROR_NO_LOGON_SERVERS |
No domain controllers could be found |
ERROR_NO_SUCH_DOMAIN |
The specified domain is not a trusted domain. |
ERROR_NO_TRUST_LSA_SECRET |
The client side of the trust relationship is broken. |
ERROR_NO_TRUST_SAM_ACCOUNT |
The server side of the trust relationship is broken or the password is broken. |
ERROR_DOMAIN_TRUST_INCONSISTENT |
The server that responded is not a proper domain controller of the specified domain. |