DsGetDomainControllerInfo返回一个";指向接收数组“quot;”的指针变量的指针;?我不知道';我不明白 我的大部分经验都是用C……所以我仍然习惯C++。p>
我正在尝试调用DsGetDomainControllerInfo以获取域中的所有域控制器。以下是该电话的MSDN文档链接: 第四个参数返回应该在DS_DOMAIN_CONTROLLER_INFO_*结构数组中的DC数 我正在获取数组中的第一个DS\U域\U控制器\U信息,但它在第二个上抛出一个未处理的异常。最后一个论点是一个空洞**…我想这样做,但我怀疑这是正确的做法 这是我的密码:DsGetDomainControllerInfo返回一个";指向接收数组“quot;”的指针变量的指针;?我不知道';我不明白 我的大部分经验都是用C……所以我仍然习惯C++。p>,c++,arrays,winapi,pointers,C++,Arrays,Winapi,Pointers,我正在尝试调用DsGetDomainControllerInfo以获取域中的所有域控制器。以下是该电话的MSDN文档链接: 第四个参数返回应该在DS_DOMAIN_CONTROLLER_INFO_*结构数组中的DC数 我正在获取数组中的第一个DS\U域\U控制器\U信息,但它在第二个上抛出一个未处理的异常。最后一个论点是一个空洞**…我想这样做,但我怀疑这是正确的做法 这是我的密码: PDOMAIN_CONTROLLER_INFO logonDomainController; DsGetDcN
PDOMAIN_CONTROLLER_INFO logonDomainController;
DsGetDcName(NULL, NULL, NULL, NULL, 0, &logonDomainController);
wstring domCon = logonDomainController->DomainControllerName;
wstring domNam = logonDomainController->DomainName;
HANDLE domHan;
DsBindWithCred(domCon.c_str(), domNam.c_str(), NULL, &domHan);
DWORD count = 0;
DS_DOMAIN_CONTROLLER_INFO_3 *dci[100] = { NULL };
DsGetDomainControllerInfo(domHan, domNam.c_str(), 3, &count, (void**)dci);
for (size_t i = 0; i < count; i++)
{
wcout << dci[i]->DnsHostName << endl;
}
PDOMAIN\u控制器\u信息logondomain控制器;
DsGetDcName(NULL、NULL、NULL、NULL、0和logonDomainController);
wstring-domacon=logonDomainController->DomainControllerName;
wstring domannam=logonDomainController->DomainName;
处理多汉;
DsBindWithCred(domCon.c_str()、domNam.c_str()、NULL和domHan);
DWORD计数=0;
DS_域_控制器_信息_3*dci[100]={NULL};
DsGetDomainControllerInfo(域、域、c_str()、3和计数(void**)dci);
对于(大小i=0;i wcout DnsHostName我把文档读作:您必须声明DS\u DOMAIN\u CONTROLLER\u INFO\u 3*dci;
,并将其地址作为(VOID**)&dci
(在结果/“out”参数的意义上),因此被调用方可以为dci
分配..INFO_3数组的基址。您仍然可以使用dci[i]
访问数组的元素
我认为在阅读DsFreeDomainControllerInfo
函数的链接文档时,它会变得更清晰(该函数使用与“in”参数相同的指针)。Wow.Downvote为零?