NetGetAnyDCName函数获取由服务器名称直接信任的域的任何域控制器的名称。
安全要求
成功执行NetGetAnyDCName不需要特殊的组成员资格。
NET_API_STATUS NetGetAnyDCName(
LPCWSTR 【ServerName】, |
LPCWSTR 【DomainName】, |
OUT LPBYTE 【* 缓冲】 |
); |
参数
【ServerName】
指向一个以null结尾的Unicode字符串,其中包含要执行该函数的远程服务器的名称。NULL指针或字符串指定本地计算机。
【DomainName】
指定域的名称(主域为null)
【缓冲】
返回指向分配的缓冲区的指针,该缓冲区包含该域的域控制器的服务器名称。服务器名称以\\\\为前缀。缓冲区应该使用NetApiBufferFree取消分配。
备注
如果【ServerName】是独立的Windows NT Workstation或独立的Windows NT Server,则无【DomainName】有效。如果【ServerName】是作为域或Windows NT Server成员的Windows NT工作站,则【DomainName】必须位于与【ServerName】相同的域中。如果【ServerName】是Windows NT Server域控制器,则【DomainName】必须是服务器是控制器的域所信任的域之一。此呼叫发现的域控制器在此呼叫期间至少运行一次。
返回值
如果函数成功,返回值为NERR_Success。
如果函数失败,则返回值是以下错误代码之一。
值 | 含义 |
ERROR_SUCCESS | 缓冲区成功包含以\\\\为前缀的域控制器的名称。 |
ERROR_NO_LOGON_SERVERS | 没有找到域控制器 |
ERROR_NO_SUCH_DOMAIN | 指定的域不是受信任的域。 |
ERROR_NO_TRUST_LSA_SECRET | 客户端的信任关系破裂。 |
ERROR_NO_TRUST_SAM_ACCOUNT | 信任关系的服务器端已损坏或密码已损坏。 |
ERROR_DOMAIN_TRUST_INCONSISTENT | 响应的服务器不是指定域的正确域控制器。 |
也可以看看