• <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>
            aurain
            技術(shù)文摘
            posts - 137,  comments - 268,  trackbacks - 0

                 今天在調(diào)試驅(qū)動的時(shí)候,發(fā)現(xiàn)一個(gè)開始覺得很奇怪的問題,就是調(diào)用RtlStringCbPrintfW函數(shù)來格式化WCHAR字符串時(shí),一定藍(lán)屏,提示
            IRQL_NOT_LESS_OR_EQUAL,并且比較郁悶的是,在虛擬機(jī)上有時(shí)不會出現(xiàn),有時(shí)會出現(xiàn),但在真正的主機(jī)上一定會出現(xiàn)(Windows xp sp2)。
            一般出現(xiàn)IRQL_NOT_LESS_OR_EQUAL,是IRQL在級別高的地方調(diào)用了分頁內(nèi)存,所以,我就想到把當(dāng)前的IRQL打出來看看,發(fā)現(xiàn)在進(jìn)入函數(shù)
            的時(shí)候,當(dāng)前的IRQL是0(PASSIVE_LEVEL),而在執(zhí)行這段代碼的地方,IRQL是2(DISPATCH_LEVEL),是什么原因使得IRQL發(fā)生了變化呢?
            仔細(xì)查看代碼后,發(fā)現(xiàn)了原因,因?yàn)樵趫?zhí)行這段代碼之前,通過NdisAcquireSpinLock獲取旋轉(zhuǎn)鎖,而在旋轉(zhuǎn)鎖釋放之前,其中的代碼是跑在
            IRQL=2的,另外,RtlStringCbPrintfW需要處理分頁內(nèi)存(PagedPool),但在IRQL=2的情況下,是只能處理非分頁內(nèi)存的(NonpagedPool),所以,
            就產(chǎn)生了上面的藍(lán)屏現(xiàn)象。

            這里給出驅(qū)動內(nèi)存的分配細(xì)節(jié):
            驅(qū)動編程時(shí),也有兩種申請內(nèi)存的方式:
            (1).在核心棧中申請,在X86 R0級中,核心棧只有約兩個(gè)頁面的大小,所以DDK中提到,不能使用遞歸調(diào)用。
            (2).在核心堆中申請,比如ExAllocatePoolWithTag函數(shù)就可以。不過核心堆分成兩種:分頁的、非分頁的。

            另外,獲取當(dāng)前IRQL級別方法:
             KIRQL uIrql = KeGetCurrentIrql();
             DEBUG_INFO(("%s is run on level: %x\n", __FUNCTION__, uIrql));

            posted on 2009-01-14 17:05 閱讀(5042) 評論(0)  編輯 收藏 引用 所屬分類: windows驅(qū)動

            <2011年3月>
            272812345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(17)

            隨筆分類(138)

            隨筆檔案(137)

            網(wǎng)絡(luò)開發(fā)

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 500428
            • 排名 - 37

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品美女久久久久av爽| 成人妇女免费播放久久久| 国内精品免费久久影院| 色偷偷91久久综合噜噜噜噜| 三上悠亚久久精品| 久久久久成人精品无码| 久久人人爽人人爽人人片AV高清| 国内精品久久人妻互换| 久久久久亚洲av成人无码电影| 一本色道久久综合狠狠躁| 国产综合精品久久亚洲| 亚洲精品乱码久久久久久按摩| 国内精品久久久久久久久| 久久综合噜噜激激的五月天| 欧美激情精品久久久久久久| 成人免费网站久久久| 久久久久久久精品妇女99| 久久精品亚洲福利| 久久婷婷综合中文字幕| 久久国产乱子伦免费精品| 久久亚洲天堂| 91久久精品国产成人久久| 国产精品久久久久久| 亚洲精品乱码久久久久久自慰| 久久青青草原精品国产不卡| 久久精品免费观看| 97热久久免费频精品99| 伊人久久无码中文字幕| 亚洲国产成人精品91久久久 | 99久久无码一区人妻| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲美日韩Av中文字幕无码久久久妻妇| 国产亚洲精品自在久久| 69久久夜色精品国产69| 99久久99这里只有免费费精品 | 国产一级持黄大片99久久| 久久久亚洲欧洲日产国码二区| 天天躁日日躁狠狠久久| 国产精品18久久久久久vr| 97精品国产97久久久久久免费| 久久国产成人午夜AV影院|