{"id":39017,"date":"2025-05-21T22:04:23","date_gmt":"2025-05-21T14:04:23","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/39017.html"},"modified":"2025-05-21T22:04:23","modified_gmt":"2025-05-21T14:04:23","slug":"ntmiremovepagebycolor%e5%87%bd%e6%95%b0%e5%88%86%e6%9e%90%e4%b9%8b%e8%84%b1%e9%93%be%e5%92%8c%e5%88%b7%e6%96%b0%e9%a2%9c%e8%89%b2%e8%a1%a8","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/39017.html","title":{"rendered":"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868"},"content":{"rendered":"<\/p>\n<p>\u7b2c0\u90e8\u5206&#xff1a;\u80cc\u666f<\/p>\n<p>PFN_NUMBER FASTCALL MiRemoveZeroPage ( \u00a0\u00a0\u00a0 IN ULONG Color \u00a0\u00a0\u00a0 ) {<\/p>\n<p> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ASSERT (Color &lt; MmSecondaryColors); \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Page &#061; FreePagesByColor[Color].Flink;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (Page !&#061; MM_EMPTY_LIST) {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Remove the first entry on the zeroed by color list. \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/<\/p>\n<p> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Page &#061; MiRemovePageByColor (Page, Color);<\/p>\n<p>\u7b2c\u4e00\u90e8\u5206&#xff1a;<\/p>\n<p>1: kd&gt; p nt!MiRemoveZeroPage&#043;0x11a: 80ac89b6 e825e4ffff\u00a0\u00a0\u00a0\u00a0\u00a0 call\u00a0\u00a0\u00a0 nt!MiRemovePageByColor (80ac6de0) 1: kd&gt; t nt!MiRemovePageByColor: 80ac6de0 55\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 push\u00a0\u00a0\u00a0 ebp 1: kd&gt; kc \u00a0# 00 nt!MiRemovePageByColor 01 nt!MiRemoveZeroPage 02 nt!MiPfPutPagesInTransition 03 nt!MmPrefetchPages 04 nt!CcPfPrefetchSections 05 nt!CcPfBootWorker 06 nt!PspSystemThreadStartup 07 nt!KiThreadStartup<\/p>\n<\/p>\n<p>1: kd&gt; dv \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Page &#061; 0x7b19b \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Color &#061; 0x1b \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Next &#061; 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ListName &#061; 0n-150603048 (No matching enumerant)<\/p>\n<p> 1: kd&gt; dd 81000000&#043;0x7b19b*18 81b8a688\u00a0 0007b19a 001ec66c 0007b19c 00003000 81b8a698\u00a0 0007b15b 03ffffff<\/p>\n<p> \u7b2c\u4e8c\u90e8\u5206&#xff1a;\u9884\u5206\u67901<\/p>\n<p>\u00a0\u00a0 &#043;0x00c u3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : __unnamed \u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 e1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : _MMPFNENTRY \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 Modified\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : Pos 0, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 ReadInProgress\u00a0\u00a0 : Pos 1, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 WriteInProgress\u00a0 : Pos 2, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 PrototypePte\u00a0\u00a0\u00a0\u00a0 : Pos 3, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 PageColor\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : Pos 4, 4 Bits\u00a0\u00a0 \u00a00000 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 PageLocation\u00a0\u00a0\u00a0\u00a0 : Pos 8, 3 Bits\u00a0\u00a0 \u00a0000\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0ZeroedPageList (0)<\/p>\n<p>1: kd&gt; x nt!MmPageLocationList 80b14d04\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 nt!MmPageLocationList &#061; struct _MMPFNLIST *[8] 1: kd&gt; dx -r1 (*((ntkrnlmp!_MMPFNLIST * (*)[8])0x80b14d04)) (*((ntkrnlmp!_MMPFNLIST * (*)[8])0x80b14d04))\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [Type: _MMPFNLIST * [8]] \u00a0\u00a0\u00a0 [0]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14c94 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [1]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14ca4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [2]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14cb4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [3]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14cc4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [4]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14cd4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [5]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14ce4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [6]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x0 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [7]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x0 [Type: _MMPFNLIST *] 1: kd&gt; dx -r1 ((ntkrnlmp!_MMPFNLIST *)0x80b14c94) ((ntkrnlmp!_MMPFNLIST *)0x80b14c94)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14c94 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [&#043;0x000] Total\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x70e85 [Type: unsigned long] \u00a0\u00a0\u00a0 [&#043;0x004] ListName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : ZeroedPageList (0) [Type: _MMLISTS] \u00a0\u00a0\u00a0 [&#043;0x008] Flink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0xed7 [Type: unsigned long] \u00a0\u00a0\u00a0 [&#043;0x00c] Blink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0xa130 [Type: unsigned long]<\/p>\n<\/p>\n<p>\u7b2c\u4e09\u90e8\u5206&#xff1a;\u9884\u5206\u67902<\/p>\n<p>1: kd&gt; dd 81000000&#043;0x7b19b*18 81b8a688\u00a0 0007b19a 001ec66c 0007b19c 00003000 81b8a698\u00a0 0007b15b 03ffffff<\/p>\n<p> \u00a0\u00a0\u00a0 Next &#061; Pfn1-&gt;u1.Flink;\u00a0\u00a0 \u00a00007b19a \u00a0\u00a0\u00a0 Pfn1-&gt;u1.Flink &#061; 0;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Assumes Flink width is &gt;&#061; WsIndex width \u00a0\u00a0\u00a0 Previous &#061; Pfn1-&gt;u2.Blink;\u00a0\u00a0 \u00a00007b19c \u00a0\u00a0\u00a0 Pfn1-&gt;u2.Blink &#061; 0;<\/p>\n<\/p>\n<p> \u7b2c\u56db\u90e8\u5206&#xff1a;\u9884\u5206\u67903<\/p>\n<p>#define MM_EMPTY_LIST ((ULONG)0xFFFFFFFF) \/\/<\/p>\n<p>\u00a0\u00a0\u00a0 ColorHead-&gt;Flink &#061; (PFN_NUMBER) Pfn1-&gt;OriginalPte.u.Long; \u00a0\u00a0\u00a0 if (ColorHead-&gt;Flink !&#061; MM_EMPTY_LIST) { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MI_PFN_ELEMENT (ColorHead-&gt;Flink)-&gt;u4.PteFrame &#061; MM_EMPTY_LIST; \u00a0\u00a0\u00a0 }<\/p>\n<p> 1: kd&gt; dt _MMCOLOR_TABLES 0x81c00000&#043;1b*c nt!_MMCOLOR_TABLES \u00a0\u00a0 &#043;0x000 Flink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x7b19b \u00a0\u00a0 &#043;0x004 Blink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x810f2688 Void \u00a0\u00a0 &#043;0x008 Count\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x1c35<\/p>\n<\/p>\n<p>1: kd&gt; dd 81000000&#043;0007b15b*18 81b8a088\u00a0 0007b15a 001ec56c 0007b15c 00003000 81b8a098\u00a0 0007b11b 0007b19b<\/p>\n<\/p>\n<p>\u7b2c\u4e94\u90e8\u5206&#xff1a;\u8c03\u8bd5<\/p>\n<p>\u00a0\u00a0\u00a0 Pfn1 &#061; MI_PFN_ELEMENT (Page);81b8a688 \u00a0\u00a0\u00a0 NodeColor &#061; Pfn1-&gt;u3.e1.PageColor;<\/p>\n<p>1: kd&gt; p nt!MiRemovePageByColor&#043;0x48: 80ac6e28 8b7e0c\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mov\u00a0\u00a0\u00a0\u00a0 edi,dword ptr [esi&#043;0Ch] 1: kd&gt; r eax&#061;001714d1 ebx&#061;0000001b ecx&#061;81000000 edx&#061;0000001b esi&#061;81b8a688<\/p>\n<p>1: kd&gt; dd 81b8a688 81b8a688\u00a0 0007b19a 001ec66c 0007b19c 00003000 81b8a698\u00a0 0007b15b 03ffffff<\/p>\n<\/p>\n<p>\u00a0\u00a0\u00a0 ListHead &#061; MmPageLocationList[Pfn1-&gt;u3.e1.PageLocation];\u00a0\u00a0 \u00a00 \u00a0\u00a0\u00a0 ListName &#061; ListHead-&gt;ListName;\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0ZeroedPageList (0)\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<\/p>\n<p>1: kd&gt; p nt!MiRemovePageByColor&#043;0x88: 80ac6e68 83e007\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 and\u00a0\u00a0\u00a0\u00a0 eax,7 1: kd&gt; p nt!MiRemovePageByColor&#043;0x8b: 80ac6e6b 8b0485044db180\u00a0 mov\u00a0\u00a0\u00a0\u00a0 eax,dword ptr nt!MmPageLocationList (80b14d04)[eax*4] 1: kd&gt; r eax&#061;00000000<\/p>\n<p> 1: kd&gt; x nt!MmPageLocationList 80b14d04\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 nt!MmPageLocationList &#061; struct _MMPFNLIST *[8] 1: kd&gt; dx -r1 (*((ntkrnlmp!_MMPFNLIST * (*)[8])0x80b14d04)) (*((ntkrnlmp!_MMPFNLIST * (*)[8])0x80b14d04))\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [Type: _MMPFNLIST * [8]] \u00a0\u00a0\u00a0 [0]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14c94 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [1]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14ca4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [2]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14cb4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [3]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14cc4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [4]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14cd4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [5]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14ce4 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [6]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x0 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [7]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x0 [Type: _MMPFNLIST *] 1: kd&gt; dx -r1 ((ntkrnlmp!_MMPFNLIST *)0x80b14c94) ((ntkrnlmp!_MMPFNLIST *)0x80b14c94)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14c94 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [&#043;0x000] Total\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x70e85 [Type: unsigned long] \u00a0\u00a0\u00a0 [&#043;0x004] ListName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : ZeroedPageList (0) [Type: _MMLISTS] \u00a0\u00a0\u00a0 [&#043;0x008] Flink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0xed7 [Type: unsigned long] \u00a0\u00a0\u00a0 [&#043;0x00c] Blink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0xa130 [Type: unsigned long]<\/p>\n<\/p>\n<p> \u7b2c\u516d\u90e8\u5206&#xff1a;<\/p>\n<p>1: kd&gt; p nt!MiRemovePageByColor&#043;0x95: 80ac6e75 ff08\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dec\u00a0\u00a0\u00a0\u00a0 dword ptr [eax] 1: kd&gt; r eax&#061;80b14c94<\/p>\n<p>\u00a0\u00a0\u00a0 ListHead-&gt;Total -&#061; 1;<\/p>\n<p>1: kd&gt; dx -r1 ((ntkrnlmp!_MMPFNLIST *)0x80b14c94) ((ntkrnlmp!_MMPFNLIST *)0x80b14c94)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x80b14c94 [Type: _MMPFNLIST *] \u00a0\u00a0\u00a0 [&#043;0x000] Total\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x70e84 [Type: unsigned long] \u00a0\u00a0\u00a0 [&#043;0x004] ListName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : ZeroedPageList (0) [Type: _MMLISTS] \u00a0\u00a0\u00a0 [&#043;0x008] Flink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0xed7 [Type: unsigned long] \u00a0\u00a0\u00a0 [&#043;0x00c] Blink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0xa130 [Type: unsigned long]<\/p>\n<\/p>\n<p>\u7b2c\u4e03\u90e8\u5206&#xff1a;<\/p>\n<p>\u00a0\u00a0\u00a0 Next &#061; Pfn1-&gt;u1.Flink; \u00a0\u00a0\u00a0 Pfn1-&gt;u1.Flink &#061; 0;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Assumes Flink width is &gt;&#061; WsIndex width \u00a0\u00a0\u00a0 Previous &#061; Pfn1-&gt;u2.Blink; \u00a0\u00a0\u00a0 Pfn1-&gt;u2.Blink &#061; 0;<\/p>\n<p> 1: kd&gt; dd 81b8a688 81b8a688\u00a0 00000000 001ec66c 00000000 00003000 81b8a698\u00a0 0007b15b 03ffffff<\/p>\n<\/p>\n<p>\u00a0\u00a0\u00a0 else { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Pfn2 &#061; MI_PFN_ELEMENT(Next); \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Pfn2-&gt;u2.Blink &#061; Previous; \u00a0\u00a0\u00a0 }<\/p>\n<\/p>\n<p> 1: kd&gt; dd 81000000&#043;0x7b19a*18 81b8a670\u00a0 0007b199 001ec668 0007b19b 00003000 81b8a680\u00a0 0007b15a 0007b1da<\/p>\n<p> \u00a0\u00a0\u00a0 else { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Pfn2 &#061; MI_PFN_ELEMENT(Next); \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Pfn2-&gt;u2.Blink &#061; Previous; \u00a0\u00a0\u00a0 } 1: kd&gt; dd 81000000&#043;0x7b19a*18 81b8a670\u00a0 0007b199 001ec668 0007b19c 00003000 81b8a680\u00a0 0007b15a 0007b1da<\/p>\n<\/p>\n<p>\u00a0\u00a0\u00a0 else { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Pfn2 &#061; MI_PFN_ELEMENT(Previous); \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Pfn2-&gt;u1.Flink &#061; Next; \u00a0\u00a0\u00a0 }<\/p>\n<\/p>\n<p>1: kd&gt; dd 81000000&#043;0x7b19c*18 81b8a6a0\u00a0 0007b19a 001ec670 0007b19d 00003000 81b8a6b0\u00a0 0007b15c 0007b1dc<\/p>\n<\/p>\n<p>u1\u548cu2\u8131\u94fe\u5b8c\u6210\u3002<\/p>\n<p> \u7b2c\u516b\u90e8\u5206&#xff1a;<\/p>\n<p> \u00a0\u00a0 Pfn1-&gt;u3.e2.ShortFlags &#061; 0; \u00a0\u00a0\u00a0 Pfn1-&gt;u3.e1.PageColor &#061; NodeColor; \u00a0\u00a0\u00a0 Pfn1-&gt;u3.e1.CacheAttribute &#061; MiNotMapped;<\/p>\n<p>typedef enum _MI_PFN_CACHE_ATTRIBUTE { \u00a0\u00a0\u00a0 MiNonCached,\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a00 \u00a0\u00a0\u00a0 MiCached,\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a01 \u00a0\u00a0\u00a0 MiWriteCombined,\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a02 \u00a0\u00a0\u00a0 MiNotMapped\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a03 } MI_PFN_CACHE_ATTRIBUTE, *PMI_PFN_CACHE_ATTRIBUTE;<\/p>\n<p>1: kd&gt; dd 81000000&#043;0x7b19b*18 81b8a688\u00a0 00000000 001ec66c 00000000 00003000 81b8a698\u00a0 0007b15b 03ffffff<\/p>\n<p>\u00a0\u00a0 &#043;0x00c u3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : __unnamed \u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 e1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : _MMPFNENTRY \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 Modified\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : Pos 0, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 ReadInProgress\u00a0\u00a0 : Pos 1, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 WriteInProgress\u00a0 : Pos 2, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 PrototypePte\u00a0\u00a0\u00a0\u00a0 : Pos 3, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 PageColor\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : Pos 4, 4 Bits \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 PageLocation\u00a0\u00a0\u00a0\u00a0 : Pos 8, 3 Bits \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 RemovalRequested : Pos 11, 1 Bit \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#043;0x000 CacheAttribute\u00a0\u00a0 : Pos 12, 2 Bits\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a011&#061;3<\/p>\n<\/p>\n<p>\u7b2c\u4e5d\u90e8\u5206&#xff1a;<\/p>\n<\/p>\n<p> \u00a0\u00a0\u00a0 \/\/ \u00a0\u00a0\u00a0 \/\/ Update the color lists. \u00a0\u00a0\u00a0 \/\/<\/p>\n<p>\u00a0\u00a0\u00a0 ASSERT (Color &lt; MmSecondaryColors);<\/p>\n<p>\u00a0\u00a0\u00a0 ColorHead &#061; &amp;MmFreePagesByColor[ListName][Color]; \u00a0\u00a0\u00a0 ASSERT (ColorHead-&gt;Count &gt;&#061; 1); \u00a0\u00a0\u00a0 ColorHead-&gt;Flink &#061; (PFN_NUMBER) Pfn1-&gt;OriginalPte.u.Long; \u00a0\u00a0\u00a0 if (ColorHead-&gt;Flink !&#061; MM_EMPTY_LIST) { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MI_PFN_ELEMENT (ColorHead-&gt;Flink)-&gt;u4.PteFrame &#061; MM_EMPTY_LIST; \u00a0\u00a0\u00a0 }<\/p>\n<\/p>\n<p>1: kd&gt; dt _MMCOLOR_TABLES 0x81c00000&#043;1b*c nt!_MMCOLOR_TABLES \u00a0\u00a0 &#043;0x000 Flink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x7b19b \u00a0\u00a0 &#043;0x004 Blink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x810f2688 Void \u00a0\u00a0 &#043;0x008 Count\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x1c35<\/p>\n<\/p>\n<p> 1: kd&gt; p nt!MiRemovePageByColor&#043;0x181: 80ac6f61 8d3c81\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lea\u00a0\u00a0\u00a0\u00a0 edi,[ecx&#043;eax*4] 1: kd&gt; pr eax&#061;00000051 ebx&#061;0000001b ecx&#061;81c00000 edx&#061;81000000 esi&#061;81b8a688 edi&#061;81c00144<\/p>\n<p> 1: kd&gt; dd 0x81c00000&#043;1b*c 81c00144\u00a0 0007b19b 810f2688 00001c35<\/p>\n<\/p>\n<p>\u00a0\u00a0\u00a0 ColorHead-&gt;Flink &#061; (PFN_NUMBER) Pfn1-&gt;OriginalPte.u.Long;\u00a0\u00a0 \u00a0&#061;0007b15b<\/p>\n<p>1: kd&gt; dd 81000000&#043;0x7b19b*18 81b8a688\u00a0 00000000 001ec66c 00000000 00003000 81b8a698\u00a0 0007b15b 03ffffff<\/p>\n<p>1: kd&gt; dt _MMCOLOR_TABLES 0x81c00000&#043;1b*c nt!_MMCOLOR_TABLES \u00a0\u00a0 &#043;0x000 Flink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x7b15b \u00a0\u00a0 &#043;0x004 Blink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x810f2688 Void \u00a0\u00a0 &#043;0x008 Count\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x1c35<\/p>\n<\/p>\n<p> 1: kd&gt; dd 81000000&#043;0x7b15b*18 81b8a088\u00a0 0007b15a 001ec56c 0007b15c 00003000 81b8a098\u00a0 0007b11b 0007b19b<\/p>\n<p>\u00a0\u00a0\u00a0 if (ColorHead-&gt;Flink !&#061; MM_EMPTY_LIST) { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MI_PFN_ELEMENT (ColorHead-&gt;Flink)-&gt;u4.PteFrame &#061; MM_EMPTY_LIST; \u00a0\u00a0\u00a0 } 1: kd&gt; dd 81000000&#043;0x7b15b*18 81b8a088\u00a0 0007b15a 001ec56c 0007b15c 00003000 81b8a098\u00a0 0007b11b 03ffffff<\/p>\n<p> \u7b2c\u5341\u90e8\u5206&#xff1a;<\/p>\n<p>\u00a0\u00a0\u00a0 ColorHead-&gt;Count -&#061; 1;<\/p>\n<p> 1: kd&gt; dt _MMCOLOR_TABLES 0x81c00000&#043;1b*c nt!_MMCOLOR_TABLES \u00a0\u00a0 &#043;0x000 Flink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x7b15b \u00a0\u00a0 &#043;0x004 Blink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x810f2688 Void \u00a0\u00a0 &#043;0x008 Count\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0x1c34<\/p>\n<p> \u7b2c\u5341\u4e00\u90e8\u5206&#xff1a;<\/p>\n<p>1: kd&gt; p nt!MiRemovePageByColor&#043;0x213: 80ac6ff3 c9\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 leave 1: kd&gt; r eax&#061;0007b19b<\/p>\n<p> 1: kd&gt; dd 81000000&#043;0x7b19b*18 81b8a688\u00a0 00000000 001ec66c 00000000 00003000 81b8a698\u00a0 0007b15b 03ffffff<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb446\u6b21\uff0c\u70b9\u8d5e5\u6b21\uff0c\u6536\u85cf7\u6b21\u3002nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3481,3479,3480,3482],"topic":[],"class_list":["post-39017","post","type-post","status-publish","format-standard","hentry","category-server","tag-miremovepage","tag-nt4","tag-pagebycolor","tag-pfn_number"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/39017.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb446\u6b21\uff0c\u70b9\u8d5e5\u6b21\uff0c\u6536\u85cf7\u6b21\u3002nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/39017.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-21T14:04:23+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/39017.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/39017.html\",\"name\":\"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-05-21T14:04:23+00:00\",\"dateModified\":\"2025-05-21T14:04:23+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/39017.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/39017.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/39017.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/39017.html","og_locale":"zh_CN","og_type":"article","og_title":"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb446\u6b21\uff0c\u70b9\u8d5e5\u6b21\uff0c\u6536\u85cf7\u6b21\u3002nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868","og_url":"https:\/\/www.wsisp.com\/helps\/39017.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-05-21T14:04:23+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"6 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/39017.html","url":"https:\/\/www.wsisp.com\/helps\/39017.html","name":"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-05-21T14:04:23+00:00","dateModified":"2025-05-21T14:04:23+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/39017.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/39017.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/39017.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"nt!MiRemovePageByColor\u51fd\u6570\u5206\u6790\u4e4b\u8131\u94fe\u548c\u5237\u65b0\u989c\u8272\u8868"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/39017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=39017"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/39017\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=39017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=39017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=39017"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=39017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}