У меня есть служба, которая получает ADsPath в контейнер. Например,
LDAP: // CN = Users, DC- = Contaso, DC = ком
Я звоню ADsOpenObject()
используя этот путь и создать объект пользователя. Мне нужно вернуть имя контроллера домена, который использовался в привязке, чтобы позволить вызывающей стороне вновь открыть тот же DC (иначе вызывающая сторона может не найти новый объект, если другой DC используется до завершения репликации)
Вы можете использовать функцию DsGetDcName (), которая возвращает имя контроллера домена в указанном домене.
DSGETDCAPI DWORD DsGetDcNameA (
IN LPCSTR ComputerName,
IN LPCSTR DomainName,
В GUID * DomainGuid,
IN LPCSTR SiteName,
В УЛОНЕ Флаги,
OUT PDOMAIN_CONTROLLER_INFOA * DomainControllerInfo
);
Пожалуйста, обратитесь к документации Microsoft здесь: https://docs.microsoft.com/en-us/windows/desktop/api/dsgetdc/nf-dsgetdc-dsgetdcnamea
Других решений пока нет …