• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            RegCreateKeyEx的一個缺陷

            Posted on 2009-11-02 15:43 亂78糟 閱讀(2076) 評論(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);  //注意這個參數是錯誤的
                    
                    
            if ( ERROR_SUCCESS != lRet )
                    {
                        
            return;
                    }
                }

            運行之后發現注冊表中該項已經成功添加,但是無法訪問。點擊就會彈出錯誤提示無法打開,系統無法訪問指定的文件。由此生成了無法刪除的垃圾注冊表信息。

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

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

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

            由此看來,這是RegCreateKeyEx函數的問題,算缺陷吧。
            亚洲伊人久久综合中文成人网 | 久久综合综合久久97色| 亚洲精品国精品久久99热一| 天堂久久天堂AV色综合| 久久人人爽人人爽人人AV| 久久国产高清字幕中文| 国产成人精品久久亚洲高清不卡| 狠狠久久综合伊人不卡| 亚洲国产日韩欧美综合久久| 少妇精品久久久一区二区三区 | 亚洲人成网亚洲欧洲无码久久| 久久综合偷偷噜噜噜色| 亚洲av伊人久久综合密臀性色| 国内精品久久久久影院优 | 久久亚洲国产最新网站| 久久99国产综合精品| 性高湖久久久久久久久AAAAA| 久久99国产综合精品| 欧美日韩精品久久久久| 国产福利电影一区二区三区,免费久久久久久久精| 精品视频久久久久| 久久r热这里有精品视频| 伊人久久综合精品无码AV专区| 狠狠色综合久久久久尤物| 久久人人妻人人爽人人爽| 久久人与动人物a级毛片| 理论片午午伦夜理片久久| 国产成人久久精品激情| 伊人久久精品无码二区麻豆| 久久精品国产精品亚洲| 婷婷久久综合九色综合98| 国产精品美女久久久久久2018| 久久免费看黄a级毛片| 2020久久精品亚洲热综合一本| 久久艹国产| 久久九九免费高清视频 | 久久这里有精品| 波多野结衣久久一区二区| 少妇熟女久久综合网色欲| 99久久这里只精品国产免费| 久久亚洲中文字幕精品一区|