NetGetAnyDCName

The NetGetAnyDCName function gets the name of any domain controller for a domain that is directly trusted by the server name.

Security Requirements

No special group membership is required to successfully execute NetGetAnyDCName.

NET_API_STATUS NetGetAnyDCName(

LPCWSTR ServerName,
LPCWSTR DomainName,
OUT LPBYTE * Buffer
);

Parameters

ServerName

Pointer to a null-terminated Unicode string containing the name of the remote server on which the function is to execute. A NULL pointer or string specifies the local computer.

DomainName

Specifies the name of domain (null for primary domain)

Buffer

Returns a pointer to an allocated buffer containing the server name of a domain controller for the domain. The server name is prefixed by \\. The buffer should be deallocated using NetApiBufferFree.

Remarks

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.

Return Values

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.

See Also

NetGetDCName