• <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>

            大漠落日

            while(!dead) study++;
            posts - 46, comments - 126, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            RegCreateKeyEx的一個缺陷

            Posted on 2009-11-02 15:43 亂78糟 閱讀(2084) 評論(0)  編輯 收藏 引用 所屬分類: C語言派系
            用CRegKey類操作注冊表,輸入如下代碼:
                CRegKey reg;
                LONG    lRet;
                
                lRet 
            = reg.Open(HKEY_LOCAL_MACHINE, 
                    _T(
            "Software\\12345"),
                    KEY_ALL_ACCESS);
                
            if (ERROR_SUCCESS != lRet)
                {
                    lRet 
            = reg.Create(HKEY_LOCAL_MACHINE, 
                        _T(
            "Software\\12345"), REG_NONE,
                        KEY_SET_VALUE);  //注意這個參數(shù)是錯誤的
                    
                    
            if ( ERROR_SUCCESS != lRet )
                    {
                        
            return;
                    }
                }

            運(yùn)行之后發(fā)現(xiàn)注冊表中該項(xiàng)已經(jīng)成功添加,但是無法訪問。點(diǎn)擊就會彈出錯誤提示無法打開,系統(tǒng)無法訪問指定的文件。由此生成了無法刪除的垃圾注冊表信息。

            現(xiàn)在來分析一下,注意看create的第四個參數(shù),我傳入了錯誤的值KEY_SET_VALUE。應(yīng)該為下面3個值中的一個:
            • REG_OPTION_BACKUP_RESTORE
              0x00000004L
            • REG_OPTION_NON_VOLATILE
              0x00000000L
            • REG_OPTION_VOLATILE
              0x00000001L
            但是
               #define KEY_SET_VALUE           (0x0002)

            如果傳入這個值,那么Create(其實(shí)RegCreateKeyEx)函數(shù)檢測不出來這個錯誤的參數(shù),如果傳入KEY_ALL_ACCESS可以檢測出來,返回84錯誤(錯誤的參數(shù))。由此猜想RegCreateEx錯誤檢測dwOption參數(shù)采用類似這種方法:

               if (dwOption < REG_OPTION_NON_VOLATILE || dwOption > REG_OPTION_BACKUP_RESTORE)
                  return 84;//對應(yīng)的宏

            由此看來,這是RegCreateKeyEx函數(shù)的問題,算缺陷吧。
            久久天天躁狠狠躁夜夜不卡| 久久久久一区二区三区| 麻豆精品久久久久久久99蜜桃 | 午夜精品久久久久久中宇| 久久久久久午夜成人影院| 久久久中文字幕| 久久无码AV一区二区三区| 99久久99久久精品免费看蜜桃| 久久AAAA片一区二区| 99久久精品免费看国产一区二区三区 | 亚洲午夜久久久影院| 99久久精品国产一区二区| 久久婷婷五月综合色奶水99啪| 一本久久a久久精品综合夜夜| 久久综合亚洲鲁鲁五月天| 日本三级久久网| 国产美女久久精品香蕉69| 久久精品国产日本波多野结衣| 99久久精品免费看国产免费| 久久综合综合久久综合| 久久精品国产亚洲αv忘忧草| 精品无码人妻久久久久久| 狠色狠色狠狠色综合久久| 国内精品久久久久影院亚洲| 久久亚洲精品无码观看不卡| 97精品国产97久久久久久免费| 国产精品国色综合久久| 日本人妻丰满熟妇久久久久久| 色天使久久综合网天天| 亚洲欧美一级久久精品| 亚洲欧美另类日本久久国产真实乱对白| 国产亚洲精午夜久久久久久| 美女写真久久影院| 国产精品99久久久久久董美香| 久久综合九色综合欧美狠狠| 狠狠色丁香久久综合婷婷| 欧美亚洲另类久久综合| 国产精品久久久天天影视香蕉| AAA级久久久精品无码区| 99热都是精品久久久久久| 久久久久亚洲AV综合波多野结衣|