ACPI!ACPISystemPowerQueryDeviceCapabilities函数中的ACPI!ACPISystemPowerUpdateDeviceCapabilities

📅 发布时间:2026/7/3 16:54:39 👁️ 浏览次数:
ACPI!ACPISystemPowerQueryDeviceCapabilities函数中的ACPI!ACPISystemPowerUpdateDeviceCapabilities
ACPI!ACPISystemPowerQueryDeviceCapabilities函数中的ACPI!ACPISystemPowerUpdateDeviceCapabilities0: kd kc#00 ACPI!ACPISystemPowerQueryDeviceCapabilities01 ACPI!ACPIBusAndFilterIrpQueryCapabilities02 ACPI!ACPIIrpInvokeDispatchRoutine03 ACPI!ACPIBusIrpQueryCapabilities04 ACPI!ACPIDispatchIrp05 nt!IofCallDriver06 nt!IopSynchronousCall07 nt!PpIrpQueryCapabilities08 nt!PiProcessNewDeviceNode09 nt!PipProcessDevNodeTree0a nt!PipDeviceActionWorker0b nt!PipRequestDeviceAction0c nt!IopInitializeBootDrivers0d nt!IoInitSystem0e nt!Phase1Initialization0f nt!PspSystemThreadStartup10 nt!KiThreadStartup0: kd dvDeviceExtension 0x899c0d58DeviceCapabilities 0xf789a2ecdumpAtEnd 0x00 parentCapabilities struct _DEVICE_CAPABILITIES0: kd dx -r1 ((ACPI!_DEVICE_CAPABILITIES *)0xf789a2ec)((ACPI!_DEVICE_CAPABILITIES *)0xf789a2ec) : 0xf789a2ec [Type: _DEVICE_CAPABILITIES *][0x000] Size : 0x40 [Type: unsigned short][0x002] Version : 0x1 [Type: unsigned short][0x004 ( 0: 0)] DeviceD1 : 0x0 [Type: unsigned long][0x004 ( 1: 1)] DeviceD2 : 0x0 [Type: unsigned long][0x004 ( 2: 2)] LockSupported : 0x0 [Type: unsigned long][0x004 ( 3: 3)] EjectSupported : 0x0 [Type: unsigned long][0x004 ( 4: 4)] Removable : 0x0 [Type: unsigned long][0x004 ( 5: 5)] DockDevice : 0x0 [Type: unsigned long][0x004 ( 6: 6)] UniqueID : 0x0 [Type: unsigned long][0x004 ( 7: 7)] SilentInstall : 0x0 [Type: unsigned long][0x004 ( 8: 8)] RawDeviceOK : 0x0 [Type: unsigned long][0x004 ( 9: 9)] SurpriseRemovalOK : 0x0 [Type: unsigned long][0x004 (10:10)] WakeFromD0 : 0x0 [Type: unsigned long][0x004 (11:11)] WakeFromD1 : 0x0 [Type: unsigned long][0x004 (12:12)] WakeFromD2 : 0x0 [Type: unsigned long][0x004 (13:13)] WakeFromD3 : 0x0 [Type: unsigned long][0x004 (14:14)] HardwareDisabled : 0x0 [Type: unsigned long][0x004 (15:15)] NonDynamic : 0x0 [Type: unsigned long][0x004 (16:16)] WarmEjectSupported : 0x0 [Type: unsigned long][0x004 (17:17)] NoDisplayInUI : 0x0 [Type: unsigned long][0x004 (31:18)] Reserved : 0x0 [Type: unsigned long][0x008] Address : 0x0 [Type: unsigned long][0x00c] UINumber : 0xffffffff [Type: unsigned long][0x010] DeviceState [Type: _DEVICE_POWER_STATE [7]][0x02c] SystemWake : PowerSystemUnspecified (0) [Type: _SYSTEM_POWER_STATE][0x030] DeviceWake : PowerDeviceUnspecified (0) [Type: _DEVICE_POWER_STATE][0x034] D1Latency : 0x0 [Type: unsigned long][0x038] D2Latency : 0x0 [Type: unsigned long][0x03c] D3Latency : 0x0 [Type: unsigned long]0: kd kc#00 ACPI!ACPIInternalGetDeviceCapabilities01 ACPI!ACPISystemPowerQueryDeviceCapabilities02 ACPI!ACPIBusAndFilterIrpQueryCapabilities03 ACPI!ACPIIrpInvokeDispatchRoutine04 ACPI!ACPIBusIrpQueryCapabilities05 ACPI!ACPIDispatchIrp06 nt!IofCallDriver07 nt!IopSynchronousCall08 nt!PpIrpQueryCapabilities09 nt!PiProcessNewDeviceNode0a nt!PipProcessDevNodeTree0b nt!PipDeviceActionWorker0c nt!PipRequestDeviceAction0d nt!IopInitializeBootDrivers0e nt!IoInitSystem0f nt!Phase1Initialization10 nt!PspSystemThreadStartup11 nt!KiThreadStartup0: kd dvDeviceObject 0x89981b98 Device for \Driver\ACPIDeviceCapabilities 0xf789a148irpSp struct _IO_STACK_LOCATIONdummy 0x89981a18 ???0: kd gBreakpoint 74 hiteax0000001b ebx00000000 ecx89981f38 edx899bf5b0 esi899bf5b0 edi89981b98eipf7403f70 espf789a09c ebpf789a0b4 iopl0 nv up ei ng nz na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000286ACPI!ACPIDispatchIrp:f7403f70 55 push ebp0: kd gBreakpoint 5 hiteax00000002 ebx899bf509 ecx89981b34 edxf745b000 esif744eb42 edi00000000eipf740410c espf789a06c ebpf789a098 iopl0 nv up ei pl nz na po nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000202ACPI!ACPIDispatchIrp0x19c:f740410c ffd6 call esi {ACPI!ACPIRootIrpQueryCapabilities (f744eb42)}0: kd teax00000002 ebx899bf509 ecx89981b34 edxf745b000 esif744eb42 edi00000000eipf744eb42 espf789a068 ebpf789a098 iopl0 nv up ei pl nz na po nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000202ACPI!ACPIRootIrpQueryCapabilities:f744eb42 55 push ebp0: kd kc#00 ACPI!ACPIRootIrpQueryCapabilities01 ACPI!ACPIDispatchIrp02 nt!IofCallDriver03 ACPI!ACPIInternalSendSynchronousIrp04 ACPI!ACPIInternalGetDeviceCapabilities05 ACPI!ACPISystemPowerQueryDeviceCapabilities06 ACPI!ACPIBusAndFilterIrpQueryCapabilities07 ACPI!ACPIIrpInvokeDispatchRoutine08 ACPI!ACPIBusIrpQueryCapabilities09 ACPI!ACPIDispatchIrp0a nt!IofCallDriver0b nt!IopSynchronousCall0c nt!PpIrpQueryCapabilities0d nt!PiProcessNewDeviceNode0e nt!PipProcessDevNodeTree0f nt!PipDeviceActionWorker10 nt!PipRequestDeviceAction11 nt!IopInitializeBootDrivers12 nt!IoInitSystem13 nt!Phase1Initialization14 nt!PspSystemThreadStartup15 nt!KiThreadStartup0: kd dx -r1 (*((ACPI!_DEVICE_CAPABILITIES *)0xf789a148))(*((ACPI!_DEVICE_CAPABILITIES *)0xf789a148)) [Type: _DEVICE_CAPABILITIES][0x000] Size : 0x40 [Type: unsigned short][0x002] Version : 0x1 [Type: unsigned short][0x004 ( 0: 0)] DeviceD1 : 0x0 [Type: unsigned long][0x004 ( 1: 1)] DeviceD2 : 0x0 [Type: unsigned long][0x004 ( 2: 2)] LockSupported : 0x0 [Type: unsigned long][0x004 ( 3: 3)] EjectSupported : 0x0 [Type: unsigned long][0x004 ( 4: 4)] Removable : 0x0 [Type: unsigned long][0x004 ( 5: 5)] DockDevice : 0x0 [Type: unsigned long][0x004 ( 6: 6)] UniqueID : 0x1 [Type: unsigned long][0x004 ( 7: 7)] SilentInstall : 0x1 [Type: unsigned long][0x004 ( 8: 8)] RawDeviceOK : 0x0 [Type: unsigned long][0x004 ( 9: 9)] SurpriseRemovalOK : 0x0 [Type: unsigned long][0x004 (10:10)] WakeFromD0 : 0x0 [Type: unsigned long][0x004 (11:11)] WakeFromD1 : 0x0 [Type: unsigned long][0x004 (12:12)] WakeFromD2 : 0x0 [Type: unsigned long][0x004 (13:13)] WakeFromD3 : 0x0 [Type: unsigned long][0x004 (14:14)] HardwareDisabled : 0x0 [Type: unsigned long][0x004 (15:15)] NonDynamic : 0x0 [Type: unsigned long][0x004 (16:16)] WarmEjectSupported : 0x0 [Type: unsigned long][0x004 (17:17)] NoDisplayInUI : 0x0 [Type: unsigned long][0x004 (31:18)] Reserved : 0x0 [Type: unsigned long][0x008] Address : 0xffffffff [Type: unsigned long][0x00c] UINumber : 0xffffffff [Type: unsigned long][0x010] DeviceState [Type: _DEVICE_POWER_STATE [7]][0x02c] SystemWake : PowerSystemUnspecified (0) [Type: _SYSTEM_POWER_STATE][0x030] DeviceWake : PowerDeviceUnspecified (0) [Type: _DEVICE_POWER_STATE][0x034] D1Latency : 0x0 [Type: unsigned long][0x038] D2Latency : 0x0 [Type: unsigned long][0x03c] D3Latency : 0x0 [Type: unsigned long]//// our base capabilities are the one that we just fetched//baseCapabilities parentCapabilities;//// Update our capabilities with those of our parent//status ACPISystemPowerUpdateDeviceCapabilities(DeviceExtension,baseCapabilities,DeviceCapabilities);0: kd kc#00 ACPI!ACPIGet01 ACPI!ACPISystemPowerGetSxD02 ACPI!ACPISystemPowerUpdateDeviceCapabilities03 ACPI!ACPISystemPowerQueryDeviceCapabilities04 ACPI!ACPIBusAndFilterIrpQueryCapabilities05 ACPI!ACPIIrpInvokeDispatchRoutine06 ACPI!ACPIBusIrpQueryCapabilities07 ACPI!ACPIDispatchIrp08 nt!IofCallDriver09 nt!IopSynchronousCall0a nt!PpIrpQueryCapabilities0b nt!PiProcessNewDeviceNode0c nt!PipProcessDevNodeTree0d nt!PipDeviceActionWorker0e nt!PipRequestDeviceAction0f nt!IopInitializeBootDrivers10 nt!IoInitSystem11 nt!Phase1Initialization12 nt!PspSystemThreadStartup13 nt!KiThreadStartup0: kd kc#00 ACPI!ACPIGet01 ACPI!ACPISystemPowerGetSxD02 ACPI!ACPISystemPowerUpdateDeviceCapabilities03 ACPI!ACPISystemPowerQueryDeviceCapabilities04 ACPI!ACPIBusAndFilterIrpQueryCapabilities05 ACPI!ACPIIrpInvokeDispatchRoutine06 ACPI!ACPIBusIrpQueryCapabilities07 ACPI!ACPIDispatchIrp08 nt!IofCallDriver09 nt!IopSynchronousCall0a nt!PpIrpQueryCapabilities0b nt!PiProcessNewDeviceNode0c nt!PipProcessDevNodeTree0d nt!PipDeviceActionWorker0e nt!PipRequestDeviceAction0f nt!IopInitializeBootDrivers10 nt!IoInitSystem11 nt!Phase1Initialization12 nt!PspSystemThreadStartup13 nt!KiThreadStartup0: kd reaxf789a0b4 ebx00000005 ecx00000000 edx00000000 esi899c0d58 edi00000000eipf74076b8 espf789a078 ebpf789a0b8 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIGet:f74076b8 55 push ebp0: kd db f789a078f789a078 31 f8 44 f7 58 0d 9c 89-5f 53 34 44 02 00 04 20 1.D.X..._S4D...0: kd gBreakpoint 71 hiteaxf789a0b4 ebx00000006 ecx00000000 edx00000000 esi899c0d58 edi00000000eipf74076b8 espf789a078 ebpf789a0b8 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIGet:f74076b8 55 push ebp0: kd db f789a078f789a078 31 f8 44 f7 58 0d 9c 89-5f 53 35 44 02 00 04 20 1.D.X..._S5D...NTSTATUSACPISystemPowerUpdateDeviceCapabilities(IN PDEVICE_EXTENSION DeviceExtension,IN PDEVICE_CAPABILITIES BaseCapabilities,IN PDEVICE_CAPABILITIES DeviceCapabilities){//// Copy the mapping back onto the device//IoCopyDeviceCapabilitiesMapping(currentMapping,DeviceExtension-PowerInfo.DevicePowerMatrix);//// Remember the system wake level, device wake level, and what// the various support Wake and Power states are//DeviceExtension-PowerInfo.DeviceWakeLevel deviceWakeLevel;DeviceExtension-PowerInfo.SystemWakeLevel systemWakeLevel;DeviceExtension-PowerInfo.SupportDeviceD1 ( ( supported ( 1 PowerDeviceD1 ) ) ! 0);DeviceExtension-PowerInfo.SupportDeviceD2 ( ( supported ( 1 PowerDeviceD2 ) ) ! 0);DeviceExtension-PowerInfo.SupportWakeFromD0 ( ( supportedWake ( 1 PowerDeviceD0 ) ) ! 0);DeviceExtension-PowerInfo.SupportWakeFromD1 ( ( supportedWake ( 1 PowerDeviceD1 ) ) ! 0);DeviceExtension-PowerInfo.SupportWakeFromD2 ( ( supportedWake ( 1 PowerDeviceD2 ) ) ! 0);DeviceExtension-PowerInfo.SupportWakeFromD3 ( ( supportedWake ( 1 PowerDeviceD3 ) ) ! 0);0: kd gBreakpoint 10 hiteax00000000 ebx899c0d58 ecx00402000 edx00402000 esi04000000 edif789a148eipf744fe64 espf789a13c ebpf789a194 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPISystemPowerQueryDeviceCapabilities0xd8:f744fe64 8bf8 mov edi,eax0: kd bc 100: kd dv DeviceCapabilitiesDeviceCapabilities 0xf789a2ec0: kd dx -r1 ((ACPI!_DEVICE_CAPABILITIES *)0xf789a2ec)((ACPI!_DEVICE_CAPABILITIES *)0xf789a2ec) : 0xf789a2ec [Type: _DEVICE_CAPABILITIES *][0x000] Size : 0x40 [Type: unsigned short][0x002] Version : 0x1 [Type: unsigned short][0x004 ( 0: 0)] DeviceD1 : 0x0 [Type: unsigned long][0x004 ( 1: 1)] DeviceD2 : 0x0 [Type: unsigned long][0x004 ( 2: 2)] LockSupported : 0x0 [Type: unsigned long][0x004 ( 3: 3)] EjectSupported : 0x0 [Type: unsigned long][0x004 ( 4: 4)] Removable : 0x0 [Type: unsigned long][0x004 ( 5: 5)] DockDevice : 0x0 [Type: unsigned long][0x004 ( 6: 6)] UniqueID : 0x0 [Type: unsigned long][0x004 ( 7: 7)] SilentInstall : 0x0 [Type: unsigned long][0x004 ( 8: 8)] RawDeviceOK : 0x0 [Type: unsigned long][0x004 ( 9: 9)] SurpriseRemovalOK : 0x0 [Type: unsigned long][0x004 (10:10)] WakeFromD0 : 0x0 [Type: unsigned long][0x004 (11:11)] WakeFromD1 : 0x0 [Type: unsigned long][0x004 (12:12)] WakeFromD2 : 0x0 [Type: unsigned long][0x004 (13:13)] WakeFromD3 : 0x0 [Type: unsigned long][0x004 (14:14)] HardwareDisabled : 0x0 [Type: unsigned long][0x004 (15:15)] NonDynamic : 0x0 [Type: unsigned long][0x004 (16:16)] WarmEjectSupported : 0x0 [Type: unsigned long][0x004 (17:17)] NoDisplayInUI : 0x0 [Type: unsigned long][0x004 (31:18)] Reserved : 0x0 [Type: unsigned long][0x008] Address : 0x0 [Type: unsigned long][0x00c] UINumber : 0xffffffff [Type: unsigned long][0x010] DeviceState [Type: _DEVICE_POWER_STATE [7]][0x02c] SystemWake : PowerSystemUnspecified (0) [Type: _SYSTEM_POWER_STATE][0x030] DeviceWake : PowerDeviceUnspecified (0) [Type: _DEVICE_POWER_STATE][0x034] D1Latency : 0x0 [Type: unsigned long][0x038] D2Latency : 0x0 [Type: unsigned long][0x03c] D3Latency : 0x0 [Type: unsigned long]//// Never do this again//ACPIInternalUpdateFlags((DeviceExtension-Flags),DEV_PROP_BUILT_POWER_TABLE,FALSE);0: kd dx -r1 (*((ACPI!_ACPI_POWER_INFO *)0x899c0de8))(*((ACPI!_ACPI_POWER_INFO *)0x899c0de8)) [Type: _ACPI_POWER_INFO][0x000] Context : 0x0 [Type: void *][0x004] PowerState : PowerDeviceD0 (1) [Type: _DEVICE_POWER_STATE][0x008] DeviceNotifyHandler : 0x0 [Type: void (*)(void *,unsigned long)][0x00c] HandlerContext : 0x0 [Type: void *][0x010] PowerNode [Type: _ACPI_DEVICE_POWER_NODE * [4]][0x020] PowerObject [Type: _NSObj * [5]][0x034] WakeBit : 0x3 [Type: unsigned long][0x038] DevicePowerMatrix [Type: _DEVICE_POWER_STATE [7]][0x054] SystemWakeLevel : PowerSystemUnspecified (0) [Type: _SYSTEM_POWER_STATE][0x058] DeviceWakeLevel : PowerDeviceUnspecified (0) [Type: _DEVICE_POWER_STATE][0x05c] DesiredPowerState : PowerDeviceD0 (1) [Type: _DEVICE_POWER_STATE][0x060] WakeSupportCount : 0x0 [Type: unsigned long][0x064] WakeSupportList [Type: _LIST_ENTRY][0x06c] CurrentPowerRequest : 0x0 [Type: _ACPI_POWER_REQUEST *][0x070] PowerRequestListEntry [Type: _LIST_ENTRY][0x078 ( 0: 0)] SupportDeviceD1 : 0x0 [Type: unsigned long][0x078 ( 1: 1)] SupportDeviceD2 : 0x0 [Type: unsigned long][0x078 ( 2: 2)] SupportWakeFromD0 : 0x0 [Type: unsigned long][0x078 ( 3: 3)] SupportWakeFromD1 : 0x0 [Type: unsigned long][0x078 ( 4: 4)] SupportWakeFromD2 : 0x0 [Type: unsigned long][0x078 ( 5: 5)] SupportWakeFromD3 : 0x0 [Type: unsigned long][0x078 (31: 6)] Reserved : 0x0 [Type: unsigned long]0: kd dx -r1 (*((ACPI!_ACPI_DEVICE_POWER_NODE * (*)[4])0x899c0df8))(*((ACPI!_ACPI_DEVICE_POWER_NODE * (*)[4])0x899c0df8)) [Type: _ACPI_DEVICE_POWER_NODE * [4]][0] : 0x0 [Type: _ACPI_DEVICE_POWER_NODE *][1] : 0x0 [Type: _ACPI_DEVICE_POWER_NODE *][2] : 0x0 [Type: _ACPI_DEVICE_POWER_NODE *][3] : 0x0 [Type: _ACPI_DEVICE_POWER_NODE *]0: kd dx -r1 (*((ACPI!_DEVICE_POWER_STATE (*)[7])0x899c0e20))(*((ACPI!_DEVICE_POWER_STATE (*)[7])0x899c0e20)) [Type: _DEVICE_POWER_STATE [7]][0] : PowerDeviceUnspecified (0) [Type: _DEVICE_POWER_STATE][1] : PowerDeviceD0 (1) [Type: _DEVICE_POWER_STATE][2] : PowerDeviceD1 (2) [Type: _DEVICE_POWER_STATE][3] : PowerDeviceUnspecified (0) [Type: _DEVICE_POWER_STATE][4] : PowerDeviceUnspecified (0) [Type: _DEVICE_POWER_STATE][5] : PowerDeviceD3 (4) [Type: _DEVICE_POWER_STATE][6] : PowerDeviceD3 (4) [Type: _DEVICE_POWER_STATE]第二部分0: kd gueax00000000 ebx00000000 ecxf73ff14c edx80b18958 esif789a2ec edi899c0d58eipf743cc2b espf789a1a4 ebpf789a1c4 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIBusAndFilterIrpQueryCapabilities0x237:f743cc2b 3bc3 cmp eax,ebx0: kd gueax00000000 ebxc00000bb ecx80ae0dfa edx80b18958 esic00000bb edi89905220eipf74530b3 espf789a1dc ebpf789a1ec iopl0 nv up ei ng nz ac po nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000292ACPI!ACPIIrpInvokeDispatchRoutine0x71:f74530b3 8bf0 mov esi,eax0: kd gueax00000000 ebx89905209 ecx00000000 edx00000000 esi804edc6c edi00000000eipf743d9a3 espf789a20c ebpf789a210 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIBusIrpQueryCapabilities0x4f:f743d9a3 5e pop esi0: kd gueax00000000 ebx89905209 ecx00000000 edx00000000 esif743d954 edi00000000eipf740410e espf789a220 ebpf789a244 iopl0 nv up ei pl zr na pe nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000246ACPI!ACPIDispatchIrp0x19e:f740410e ff75fc push dword ptr [ebp-4] ss:0010:f789a240899c0d580: kd gueax00000000 ebx00000000 ecx899c0e74 edx00000000 esi89905220 edi899050e8eip80a2675c espf789a254 ebpf789a260 iopl0 nv up ei pl nz na po nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000202nt!IofCallDriver0x62:80a2675c 5f pop edi0: kd gueax00000000 ebx899050e8 ecx899c0e74 edx00000000 esif789a2d0 edi899052b4eip80c95e00 espf789a268 ebpf789a290 iopl0 nv up ei pl nz na po nccs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000202nt!IopSynchronousCall0x1aa:80c95e00 8bf0 mov esi,eax0: kd gueax00000000 ebx00000000 ecx00000009 edx00000000 esi804edc6c edif789a2d0eip80c97bb1 espf789a2a4 ebpf789a2d0 iopl0 nv up ei ng nz ac po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000293nt!PpIrpQueryCapabilities0x7b:80c97bb1 5f pop edi0: kd gueax00000000 ebx00000000 ecx00000009 edx00000000 esi894ffea8 edi899050e8eip80c93911 espf789a2e0 ebpf789a38c iopl0 nv up ei ng nz ac po cycs0008 ss0010 ds0023 es0023 fs0030 gs0000 efl00000293nt!PiProcessNewDeviceNode0x8f:80c93911 83a680000000fd and dword ptr [esi80h],0FFFFFFFDh ds:0023:894fff2800000000