如何确定ADsOpenObject绑定的DC?

时间:2016-11-24 12:30:02

标签: c++ c active-directory adsi domaincontroller

我有一个服务,它接收 ADsPath 到容器。例如,

  

LDAP:// CN =用户,DC- = Contaso,DC = COM

我使用此路径调用ADsOpenObject()并创建用户对象。我需要返回绑定中使用的域控制器的名称,以允许调用者重新打开相同的DC(否则如果在复制完成之前使用不同的DC,调用者可能找不到新对象)

1 个答案:

答案 0 :(得分:0)

您可以使用DsGetDcName()函数返回指定域中域控制器的名称。

DSGETDCAPI DWORD DsGetDcNameA(   在LPCSTR ComputerName中,   在LPCSTR域名中,   在GUID * DomainGuid中,   在LPCSTR SiteName中,   在ULONG标志中,   OUT PDOMAIN_CONTROLLER_INFOA * DomainControllerInfo ); 请在此处参考Microsoft文档:https://docs.microsoft.com/en-us/windows/desktop/api/dsgetdc/nf-dsgetdc-dsgetdcnamea