• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-16  評(píng)論-116  文章-0  trackbacks-0
            轉(zhuǎn)載請(qǐng)注明出處http://www.shnenglu.com/greatws/archive/2008/05/05/48933.html

                    做了個(gè)DNS查詢有關(guān)的程序,用到了DnsQuery和DnsRecordListFree這2個(gè)函數(shù),拿到導(dǎo)師那里一用,竟然出現(xiàn)一個(gè)對(duì)話框,“無(wú)法將函數(shù)DnsFree定位于動(dòng)態(tài)連接庫(kù)Dnsapi.dll上”,我就奇怪了,在我機(jī)器上是好好的。最后一想,導(dǎo)師那邊是win2000的,我是winXP的,可能API函數(shù)改變了。于是回來(lái)查了下MSDN,看到Requirements是Requires Windows Vista, Windows XP, or Windows 2000 Professional.,沒(méi)錯(cuò)啊有windows2000的阿,最后鼠標(biāo)放到DnsRecordListFree上,見(jiàn)到一個(gè)宏#define DnsRecordListFree(p,t)  DnsFree(p,DnsFreeRecordList),WK函數(shù)被改變了!!!查了下DnsFree這個(gè)函數(shù),Requires Windows Vista or Windows XP.,只能在Vista和XP上用,難怪找不到了,那就改啊,翻到windns.h看到

            #if(_WIN32_WINNT >= 0x0501)
            #define DnsRecordListFree(p,t)  DnsFree(p,DnsFreeRecordList)
            #else
            VOID
            WINAPI
            DnsRecordListFree(
                __inout_opt PDNS_RECORD     pRecordList,
                __in        DNS_FREE_TYPE   FreeType
                );
            #endif /* _WIN32_WINNT >= 0x0501 */
            當(dāng)版本大于等于0x0501時(shí)就定義這個(gè)。。。看看定義的是什么版本,targetver.h

            #ifndef WINVER                          // 指定要求的最低平臺(tái)是 Windows Vista。
            #define WINVER 0x0600           // 將此值更改為相應(yīng)的值,以適用于 Windows 的其他版本。
            #endif

            #ifndef _WIN32_WINNT            
            // 指定要求的最低平臺(tái)是 Windows Vista。
            #define _WIN32_WINNT 0x0600     // 將此值更改為相應(yīng)的值,以適用于 Windows 的其他版本。
            #endif
            我定義成0x0600這里就要使用DnsFree這個(gè)函數(shù)了,而Windows2000的版本號(hào)是0x0500,WinXP是0x0501,難怪在導(dǎo)師的機(jī)器上會(huì)說(shuō)無(wú)法定位了,現(xiàn)在把windows版本號(hào)改為0x0500,那也就是執(zhí)行else部分的宏,就是直接使用DnsRecordListFree這個(gè)函數(shù)了,速度行動(dòng)!!wait~~wait~~wait~~編譯通過(guò),拿過(guò)去測(cè)試,一切正常,OK了。

            看來(lái)以后編程要注意版本號(hào)了,以提供對(duì)不同版本操作系統(tǒng)的兼容性。以前一直都忽略這個(gè)問(wèn)題- -汗個(gè)
            by greatws
            posted on 2008-05-05 21:50 greatws 閱讀(6923) 評(píng)論(3)  編輯 收藏 引用

            評(píng)論:
            # re: 以后要注意stdafx.h和targetver.h里的系統(tǒng)版本定義啊 2008-05-06 09:17 | 夢(mèng)在天涯
            haha,這個(gè)targetver.h只有在08才有的把!  回復(fù)  更多評(píng)論
              
            # re: 以后要注意stdafx.h和targetver.h里的系統(tǒng)版本定義啊 2008-05-06 17:48 | Ashuar
            想必樓主是個(gè)MM,嘿嘿!用這么粉的打底!  回復(fù)  更多評(píng)論
              
            # re: 以后要注意stdafx.h和targetver.h里的系統(tǒng)版本定義啊 2008-05-06 19:35 | greatws
            @夢(mèng)在天涯
            恩,以前版本的VC版本定義都在stdafx.h里  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久国产精品99国产精| 久久精品无码一区二区三区日韩 | 伊人久久大香线蕉影院95| 国产精品一区二区久久| 久久夜色撩人精品国产| 久久精品中文字幕一区| 久久精品国产精品亚洲艾草网美妙| 久久亚洲高清综合| 97久久综合精品久久久综合| 久久亚洲高清综合| A级毛片无码久久精品免费| 国产精品久久久久久久人人看 | 久久综合久久伊人| 国产精品久久毛片完整版| 中文字幕久久精品| 久久国产热这里只有精品| 久久国产亚洲精品无码| 亚洲欧美精品一区久久中文字幕| 成人久久综合网| 久久久久久久人妻无码中文字幕爆| 欧美午夜A∨大片久久| 99久久精品国产毛片| 久久久国产精品网站| 99久久精品午夜一区二区 | 爱做久久久久久| 久久国产乱子伦免费精品| 性欧美丰满熟妇XXXX性久久久| 久久无码精品一区二区三区| 久久久精品日本一区二区三区| 九九久久99综合一区二区| jizzjizz国产精品久久| 久久精品国产亚洲精品2020 | 无码任你躁久久久久久老妇App| 亚洲午夜精品久久久久久人妖| 国产成人精品久久免费动漫| 国产精品一区二区久久不卡| 久久亚洲春色中文字幕久久久| 久久人与动人物a级毛片| 午夜精品久久久久久99热| 国产麻豆精品久久一二三| 亚洲伊人久久大香线蕉苏妲己|