Dnsqueryconfig возвращает ненужные символы! - PullRequest
0 голосов
/ 02 февраля 2010

Привет, я пытаюсь получить доменное имя машины, используя следующий код

//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 голосов
/ 02 февраля 2010

Есть ли причина, по которой вы запрашиваете доменное имя в UTF-8, а затем конвертируете в широкие символы? Почему бы не запросить имя домена в виде широких символов напрямую (DnsConfigPrimaryDomainName_W).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...