ACPI!ACPIDetectFilterDevices函数分析和ACPI!ACPIBuildFilter函数分析0: kd guBreakpoint 71 hiteax00000000 ebx804ee150 ecxf789a264 edx00000000 esif743b620 edi899c0d58eipf74076b8 espf789a230 ebpf789a274 iopl0 nv up ei ng nz na po nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000282ACPI!ACPIGet:f74076b8 55 push ebp0: kd kc#00 ACPI!ACPIGet01 ACPI!ACPIDetectFilterDevices02 ACPI!ACPIRootIrpQueryDeviceRelations03 ACPI!ACPIDispatchIrp04 nt!IofCallDriver05 nt!IopSynchronousCall06 nt!IopQueryDeviceRelations07 nt!PipEnumerateDevice08 nt!PipProcessDevNodeTree09 nt!PipDeviceActionWorker0a nt!PipRequestDeviceAction0b nt!IopInitializeBootDrivers0c nt!IoInitSystem0d nt!Phase1Initialization0e nt!PspSystemThreadStartup0f nt!KiThreadStartup0: kd reax00000000 ebx804ee150 ecxf789a264 edx00000000 esif743b620 edi899c0d58eipf74076b8 espf789a230 ebpf789a274 iopl0 nv up ei ng nz na po nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000282ACPI!ACPIGet:f74076b8 55 push ebp0: kd db f789a230f789a230 a7 00 40 f7 58 0d 9c 89-5f 53 54 41 02 08 04 20 ...X..._STA...f789a240 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................f789a250 64 a2 89 f7 00 00 00 00-18 1a 98 89 00 00 00 00 d...............f789a260 b0 f5 9b 89 5c 67 a2 80-58 1b 98 89 00 00 00 00 ....\g..X.......f789a270 18 1a 98 00 ac a2 89 f7-3c ef 44 f7 98 1b 98 89 .........D.....f789a280 a0 75 98 89 00 00 00 00-ca ed 44 f7 07 f5 9b 89 .u........D.....f789a290 01 ed 04 f7 01 00 00 00-98 a2 89 f7 98 a2 89 f7 ................f789a2a0 18 1a 98 89 a0 75 98 89-02 03 00 01 e0 a2 89 f7 .....u..........0: kd dvTarget 0x899c0d58ObjectID 0x4154535fFlags 0x20040802SimpleArgument 0x00000000SimpleArgumentSize 0CallBackRoutine 0x00000000CallBackContext 0x00000000Buffer 0xf789a264BufferSize 0x00000000completionRoutine 0xf74076b9status 0n537135106argument struct _ObjDataargumentPtr 0xf743b620acpiObject 0x899c0d58deviceExtension 0xf789a274async 0x00 argumentCount 0x899c0d580: kd db 0x899c0d58899c0d58 20 00 01 02 00 20 40 00-50 47 53 5f 00 00 00 00 .... .PGS_....899c0d68 0c 83 43 f7 00 00 00 00-00 00 00 00 00 00 00 00 ..C.............899c0d78 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................899c0d88 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................899c0d98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................899c0da8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................899c0db8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................899c0dc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................0: kd dt acpi!_DEVICE_EXTENSION 0x899c0d580x000 Flags : 0x00402000020100200x000 UFlags : __unnamed0x008 Signature : 0x5f5347500x00c DebugFlags : 00x010 DispatchTable : 0xf743830c IRP_DISPATCH_TABLE0x014 WorkContext : WORK_QUEUE_CONTEXT0x014 Fdo : _FDO_DEVICE_EXTENSION0x014 Filter : _FILTER_DEVICE_EXTENSION0x014 Pdo : _PDO_DEVICE_EXTENSION0x058 WorkQueue : EXTENSION_WORKER0x058 Button : BUTTON_EXTENSION0x058 Thermal : THERMAL_EXTENSION0x058 LinkNode : LINK_NODE_EXTENSION0x058 Dock : DOCK_EXTENSION0x058 Processor : _PROCESSOR_DEVICE_EXTENSION0x088 DeviceState : 0 ( Stopped )0x08c PreviousState : 0 ( Stopped )0x090 PowerInfo : _ACPI_POWER_INFO0x10c DeviceID : 0x899c1148 ACPI\PNP0A030x10c Address : 0x899c11480x110 InstanceID : (null)0x114 ResourceList : (null)0x118 PnpResourceList : (null)0x11c OutstandingIrpCount : 0n10x120 ReferenceCount : 0n840x124 HibernatePathCount : 0n00x128 RemoveEvent : (null)0x12c AcpiObject : 0x899affac _NSObj0x130 DeviceObject : 0x899050e8 _DEVICE_OBJECT0x134 TargetDeviceObject : (null)0x138 PhysicalDeviceObject : 0x899050e8 _DEVICE_OBJECT0x13c ParentExtension : 0x89981a18 _DEVICE_EXTENSION0x140 ChildDeviceList : _LIST_ENTRY [ 0x899c0d38 - 0x8990efe8 ]0x148 SiblingDeviceList : _LIST_ENTRY [ 0x899ae150 - 0x89981b58 ]0x150 EjectDeviceHead : _LIST_ENTRY [ 0x899c0ea8 - 0x899c0ea8 ]0x158 EjectDeviceList : _LIST_ENTRY [ 0x899c0eb0 - 0x899c0eb0 ]0: kd db 0x899affac899affac 4c ff 9a 89 ac 40 9b 89-f0 f0 9a 89 24 00 9b 89 L..........$...899affbc 50 43 49 30 30 f3 9a 89-4c ff 9a 89 00 00 06 00 PCI00...L.......0: kd guBreakpoint 4 hiteax00000000 ebxc0000034 ecx00000000 edx00000000 esi899c0d58 edi0000000feipf7409910 espf789a188 ebpf789a1a8 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIInternalUpdateDeviceStatus:f7409910 55 push ebp0: kd dvDeviceExtension 0x899c0d58DeviceStatus 0xfoldIrql 0x00 0: kd kc#00 ACPI!ACPIInternalUpdateDeviceStatus01 ACPI!ACPIGetConvertToDevicePresence02 ACPI!ACPIGetWorkerForInteger03 ACPI!ACPIGet04 ACPI!ACPIDetectFilterDevices05 ACPI!ACPIRootIrpQueryDeviceRelations06 ACPI!ACPIDispatchIrp07 nt!IofCallDriver08 nt!IopSynchronousCall09 nt!IopQueryDeviceRelations0a nt!PipEnumerateDevice0b nt!PipProcessDevNodeTree0c nt!PipDeviceActionWorker0d nt!PipRequestDeviceAction0e nt!IopInitializeBootDrivers0f nt!IoInitSystem10 nt!Phase1Initialization11 nt!PspSystemThreadStartup12 nt!KiThreadStartup0: kd kv# ChildEBP RetAddr Args to Child00 f789a184 f7406da5 899c0d58 0000000f 89968640 ACPI!ACPIInternalUpdateDeviceStatus (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\internal.c 1060]01 f789a1a8 f74073d9 899c0d58 c0000034 8996866c ACPI!ACPIGetConvertToDevicePresence0xcf (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\get.c 1923]02 f789a1d8 f7407935 00000000 c0000034 8996866c ACPI!ACPIGetWorkerForInteger0x75 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\nt\get.c 4759]03 f789a22c f74000a7 00000000 4154535f 20040802 ACPI!ACPIGet0x27d (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\get.c 328]04 f789a274 f744ef3c 89981b98 899875a0 00000000 ACPI!ACPIDetectFilterDevices0xd9 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\detect.c 1546]05 f789a2ac f740410e 89981b98 899bf507 89981b98 ACPI!ACPIRootIrpQueryDeviceRelations0x172 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\root.c 633]06 f789a2e0 80a2675c 89981b98 899bf5b0 899bf668 ACPI!ACPIDispatchIrp0x19e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\dispatch.c 690]07 f789a2fc 80c95e00 00000000 899c1008 899c1008 nt!IofCallDriver0x62 (FPO: [Non-Fpo]) (CONV: fastcall) [d:\srv03rtm\base\ntos\io\iomgr\iosubs.c 2237]08 f789a32c 80a2e3f3 00000000 f789a348 899c10e8 nt!IopSynchronousCall0x1aa (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c 258]09 f789a36c 80c8d810 00000000 899c1de0 00000000 nt!IopQueryDeviceRelations0x39 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c 1131]0a f789a388 80c94e01 899c1008 00000000 00000000 nt!PipEnumerateDevice0x56 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 980]0b f789a5d4 80a2dde9 899c5ac8 00000000 899c4100 nt!PipProcessDevNodeTree0x273 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 4699]0c f789a618 80a2e161 00000000 00000000 800836b0 nt!PipDeviceActionWorker0xcd (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 710]0d f789a630 80e69358 00000000 00000005 00000000 nt!PipRequestDeviceAction0x139 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 598]0e f789a694 80e655c7 80077000 f789a7dc 00034000 nt!IopInitializeBootDrivers0x392 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpinit.c 1440]0f f789a838 80e632fd 80077000 00000000 899a1020 nt!IoInitSystem0x70b (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\ioinit.c 665]10 f789adac 80d391f0 80077000 00000000 00000000 nt!Phase1Initialization0x9b3 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\init\init.c 2221]11 f789addc 80b00d52 80e6294a 80077000 00000000 nt!PspSystemThreadStartup0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ps\create.c 2213]12 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup0x16 [d:\srv03rtm\base\ntos\ke\i386\threadbg.asm 81]0: kd bp f74000a70: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04d30001 edx04d20000 esif743b620 edi899c0d58eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000243ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04d40001 edx04d30000 esif743b620 edi899ae008eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na pe cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000247ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd kv# ChildEBP RetAddr Args to Child00 f789a274 f744ef3c 89981b98 899875a0 00000000 ACPI!ACPIDetectFilterDevices0xd9 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\detect.c 1546]01 f789a2ac f740410e 89981b98 899bf507 89981b98 ACPI!ACPIRootIrpQueryDeviceRelations0x172 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\root.c 633]02 f789a2e0 80a2675c 89981b98 899bf5b0 899bf668 ACPI!ACPIDispatchIrp0x19e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\dispatch.c 690]03 f789a2fc 80c95e00 00000000 899c1008 899c1008 nt!IofCallDriver0x62 (FPO: [Non-Fpo]) (CONV: fastcall) [d:\srv03rtm\base\ntos\io\iomgr\iosubs.c 2237]04 f789a32c 80a2e3f3 00000000 f789a348 899c10e8 nt!IopSynchronousCall0x1aa (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c 258]05 f789a36c 80c8d810 00000000 899c1de0 00000000 nt!IopQueryDeviceRelations0x39 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c 1131]06 f789a388 80c94e01 899c1008 00000000 00000000 nt!PipEnumerateDevice0x56 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 980]07 f789a5d4 80a2dde9 899c5ac8 00000000 899c4100 nt!PipProcessDevNodeTree0x273 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 4699]08 f789a618 80a2e161 00000000 00000000 800836b0 nt!PipDeviceActionWorker0xcd (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 710]09 f789a630 80e69358 00000000 00000005 00000000 nt!PipRequestDeviceAction0x139 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c 598]0a f789a694 80e655c7 80077000 f789a7dc 00034000 nt!IopInitializeBootDrivers0x392 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpinit.c 1440]0b f789a838 80e632fd 80077000 00000000 899a1020 nt!IoInitSystem0x70b (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\ioinit.c 665]0c f789adac 80d391f0 80077000 00000000 00000000 nt!Phase1Initialization0x9b3 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\init\init.c 2221]0d f789addc 80b00d52 80e6294a 80077000 00000000 nt!PspSystemThreadStartup0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ps\create.c 2213]0e 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup0x16 [d:\srv03rtm\base\ntos\ke\i386\threadbg.asm 81]0: kd bp f744ef3c0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04d50001 edx04d40000 esif743b620 edi899aee58eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000243ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04d60001 edx04d50000 esif743b620 edi899aec58eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000243ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04d70001 edx04d60000 esif743b620 edi899aea40eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na pe cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000247ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04d80001 edx04d70000 esif743b620 edi899ab690eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na pe cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000247ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04d90001 edx04d80000 esif743b620 edi8990eaf0eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000243ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04da0001 edx04d90000 esif743b620 edi8990e8d8eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000243ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04db0001 edx04da0000 esif743b620 edi89906008eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na pe cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000247ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 89 hiteax00000000 ebx804ee150 ecx04dc0001 edx04db0000 esif743b620 edi89906ea0eipf74000a7 espf789a258 ebpf789a274 iopl0 nv up ei pl zr na po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000243ACPI!ACPIDetectFilterDevices0xd9:f74000a7 85c0 test eax,eax0: kd gBreakpoint 92 hiteax00000000 ebx899bf5b0 ecx00000000 edx00000000 esi00000000 edi89981a18eipf744ef3c espf789a284 ebpf789a2ac iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIRootIrpQueryDeviceRelations0x172:f744ef3c 50 push eax