• <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的一個(gè)缺陷

            Posted on 2009-11-02 15:43 亂78糟 閱讀(2076) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C語言派系
            用CRegKey類操作注冊(cè)表,輸入如下代碼:
                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);  //注意這個(gè)參數(shù)是錯(cuò)誤的
                    
                    
            if ( ERROR_SUCCESS != lRet )
                    {
                        
            return;
                    }
                }

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

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

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

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

            由此看來,這是RegCreateKeyEx函數(shù)的問題,算缺陷吧。
            久久亚洲熟女cc98cm| 四虎久久影院| 大蕉久久伊人中文字幕| 久久精品人妻一区二区三区| 伊人久久综合成人网| 成人亚洲欧美久久久久| 久久久久青草线蕉综合超碰| 性高湖久久久久久久久| 婷婷综合久久狠狠色99h| 99re久久精品国产首页2020| 99久久国产主播综合精品| 色诱久久av| 国产精品无码久久久久久| 99久久国产主播综合精品| 久久久久亚洲精品天堂久久久久久| 国产免费福利体检区久久| 久久婷婷人人澡人人爽人人爱| 一本色道久久综合狠狠躁| 久久福利片| 99久久精品这里只有精品| 久久伊人五月丁香狠狠色| 国产精品成人无码久久久久久| 99久久国产精品免费一区二区| 久久99精品国产麻豆婷婷| 99久久国语露脸精品国产| 亚洲欧美成人综合久久久| 少妇被又大又粗又爽毛片久久黑人 | 久久国产乱子伦免费精品| 久久精品极品盛宴观看| 日产精品久久久久久久| 久久人妻无码中文字幕| 综合久久国产九一剧情麻豆| 久久五月精品中文字幕| 一级女性全黄久久生活片免费 | 亚洲国产精品一区二区三区久久| 韩国三级中文字幕hd久久精品| 国产精久久一区二区三区| 欧美精品福利视频一区二区三区久久久精品 | 日韩精品久久久久久久电影蜜臀| 色欲综合久久躁天天躁蜜桃| 日韩人妻无码精品久久免费一 |