Dnsqueryconfig返回垃圾字符!

时间:2010-02-02 14:52:11

标签: windows winapi dns

我正在尝试使用以下代码检索计算机的域名

//if(FAILED(DnsQueryConfig(
  //  DnsConfigPrimaryDomainName_UTF8,
  //              FALSE,
  //              NULL,
  //              NULL,
  //              cszDomainName,
  //              &size
  // )))
  //{

  // //break;
  //}

  //LPWSTR lpcszContent = NULL;

  //if(int cbMultiByte = MultiByteToWideChar(CP_UTF8, 0, cszDomainName, -1,NULL,0))
  //{
  // lpcszContent = new wchar_t[cbMultiByte];
  // 
  // if(NULL!= lpcszContent)
  // {
  //  if(0 == MultiByteToWideChar(CP_UTF8, 0, cszDomainName, -1, lpcszContent, cbMultiByte))
  //  {
  //   delete [] lpcszContent;
  //   break;
  //  }
  // }
  //}

  //if(NULL != lpcszContent)
  //{
  // cstrDomainName.Format(L"%s", lpcszContent);
  //
  // printf("Domain name UTF-8 character: %s", lpcszContent); 

  // delete lpcszContent;
  //}

该代码在英文机器上正常工作。 但在使用巴西操作系统的计算机上,域名将被检索为垃圾字符。

代码有什么问题吗? 请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

您是否有理由在UTF-8中查询域名然后转换为宽字符?为什么不直接用宽字符查询域名(DnsConfigPrimaryDomainName_W)。