2010-02-02 359 views
0

喜IAM嘗試使用下面的代碼Dnsqueryconfig返回垃圾字符!

//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; 
    //} 

代碼檢索機的域名工作正常英文的機器上。 但在具有巴西操作系統的計算機上,域名被檢索爲垃圾字符。

代碼有問題嗎? 請幫忙。

感謝

回答

0

有你在UTF-8查詢域名,然後轉換爲寬字符理由嗎?爲什麼不直接以寬字符查詢域名(DnsConfigPrimaryDomainName_W)。