news 2026/6/15 19:08:08

ACPI!SyncEvalObject所在线程和ACPI!ACPIWorker线程通过OSQueueWorkItem和EvalMethodComplete中的nt!KeSetEvent相互转换非常重要

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI!SyncEvalObject所在线程和ACPI!ACPIWorker线程通过OSQueueWorkItem和EvalMethodComplete中的nt!KeSetEvent相互转换非常重要

ACPI!SyncEvalObject所在线程和ACPI!ACPIWorker线程通过ACPI!OSQueueWorkItem和ACPI!EvalMethodComplete中的nt!KeSetEvent相互转换非常重要

0: kd> kc
 #
00 ACPI!RunContext
01 ACPI!InsertReadyQueue
02 ACPI!RestartContext
03 ACPI!SyncEvalObject
04 ACPI!AMLIEvalNameSpaceObject
05 ACPI!ACPIGet
06 ACPI!ACPIDetectPdoDevices
07 ACPI!ACPIRootIrpQueryBusRelations
08 ACPI!ACPIRootIrpQueryDeviceRelations
09 ACPI!ACPIDispatchIrp
0a nt!IofCallDriver
0b nt!IopSynchronousCall
0c nt!IopQueryDeviceRelations
0d nt!PipEnumerateDevice
0e nt!PipProcessDevNodeTree
0f nt!PipDeviceActionWorker
10 nt!PipRequestDeviceAction
11 nt!IopInitializeBootDrivers
12 nt!IoInitSystem
13 nt!Phase1Initialization
14 nt!PspSystemThreadStartup
15 nt!KiThreadStartup
0: kd> dv
          pctxt = 0x89568000
      pctxtSave = 0xf741d711
       pkthSave = 0x00000008
             rc = 0n-1990819840


0: kd> x acpi!greadyqueue
f743a928          ACPI!gReadyQueue = struct _ctxtq
0: kd> dx -r1 (*((ACPI!_ctxtq *)0xf743a928))
(*((ACPI!_ctxtq *)0xf743a928))                 [Type: _ctxtq]
    [+0x000] dwfCtxtQ         : 0x0 [Type: unsigned long]
    [+0x004] pkthCurrent      : 0x899a1020 [Type: _KTHREAD *]
    [+0x008] pctxtCurrent     : 0x89568000 [Type: _ctxt *]
    [+0x00c] plistCtxtQ       : 0x0 [Type: _List *]
    [+0x010] dwmsTimeSliceLength : 0x64 [Type: unsigned long]
    [+0x014] dwmsTimeSliceInterval : 0x64 [Type: unsigned long]
    [+0x018] pfnPauseCallback : 0x0 [Type: void (__cdecl*)(void *)]
    [+0x01c] PauseCBContext   : 0x0 [Type: void *]
    [+0x020] mutCtxtQ         [Type: _mutex]
    [+0x028] Timer            [Type: _KTIMER]
    [+0x050] DpcStartTimeSlice [Type: _KDPC]
    [+0x070] DpcExpireTimeSlice [Type: _KDPC]
    [+0x090] WorkItem         [Type: _WORK_QUEUE_ITEM]
0: kd> .thread
Implicit thread is now 899a1020

0: kd> kc
 #
00 ACPI!PciConfigSpaceHandlerWorker
01 ACPI!PciConfigSpaceHandler
02 ACPI!InternalOpRegionHandler
03 ACPI!AccessBaseField
04 ACPI!AccessFieldData
05 ACPI!ReadFieldObj
06 ACPI!RunContext
07 ACPI!InsertReadyQueue
08 ACPI!RestartContext
09 ACPI!SyncEvalObject
0a ACPI!AMLIEvalNameSpaceObject
0b ACPI!ACPIGet
0c ACPI!ACPIDetectPdoDevices
0d ACPI!ACPIRootIrpQueryBusRelations
0e ACPI!ACPIRootIrpQueryDeviceRelations
0f ACPI!ACPIDispatchIrp
10 nt!IofCallDriver
11 nt!IopSynchronousCall
12 nt!IopQueryDeviceRelations
13 nt!PipEnumerateDevice
14 nt!PipProcessDevNodeTree
15 nt!PipDeviceActionWorker
16 nt!PipRequestDeviceAction
17 nt!IopInitializeBootDrivers
18 nt!IoInitSystem
19 nt!Phase1Initialization
1a nt!PspSystemThreadStartup
1b nt!KiThreadStartup


0: kd> kc
 #
00 ACPI!GetPciAddressWorker
01 ACPI!GetPciAddress
02 ACPI!PciConfigSpaceHandlerWorker
03 ACPI!PciConfigSpaceHandler
04 ACPI!InternalOpRegionHandler
05 ACPI!AccessBaseField
06 ACPI!AccessFieldData
07 ACPI!ReadFieldObj
08 ACPI!RunContext
09 ACPI!InsertReadyQueue
0a ACPI!RestartContext
0b ACPI!SyncEvalObject
0c ACPI!AMLIEvalNameSpaceObject
0d ACPI!ACPIGet
0e ACPI!ACPIDetectPdoDevices
0f ACPI!ACPIRootIrpQueryBusRelations
10 ACPI!ACPIRootIrpQueryDeviceRelations
11 ACPI!ACPIDispatchIrp
12 nt!IofCallDriver
13 nt!IopSynchronousCall
14 nt!IopQueryDeviceRelations
15 nt!PipEnumerateDevice
16 nt!PipProcessDevNodeTree
17 nt!PipDeviceActionWorker
18 nt!PipRequestDeviceAction
19 nt!IopInitializeBootDrivers
1a nt!IoInitSystem
1b nt!Phase1Initialization
1c nt!PspSystemThreadStartup
1d nt!KiThreadStartup


0: kd> kc
 #
00 ACPI!RestartContext
01 ACPI!AsyncEvalObject
02 ACPI!AMLIAsyncEvalObject
03 ACPI!ACPIGet
04 ACPI!GetPciAddressWorker
05 ACPI!GetPciAddress
06 ACPI!PciConfigSpaceHandlerWorker
07 ACPI!PciConfigSpaceHandler
08 ACPI!InternalOpRegionHandler
09 ACPI!AccessBaseField
0a ACPI!AccessFieldData
0b ACPI!ReadFieldObj
0c ACPI!RunContext
0d ACPI!InsertReadyQueue
0e ACPI!RestartContext
0f ACPI!SyncEvalObject
10 ACPI!AMLIEvalNameSpaceObject
11 ACPI!ACPIGet
12 ACPI!ACPIDetectPdoDevices
13 ACPI!ACPIRootIrpQueryBusRelations
14 ACPI!ACPIRootIrpQueryDeviceRelations
15 ACPI!ACPIDispatchIrp
16 nt!IofCallDriver
17 nt!IopSynchronousCall
18 nt!IopQueryDeviceRelations
19 nt!PipEnumerateDevice
1a nt!PipProcessDevNodeTree
1b nt!PipDeviceActionWorker
1c nt!PipRequestDeviceAction
1d nt!IopInitializeBootDrivers
1e nt!IoInitSystem
1f nt!Phase1Initialization
20 nt!PspSystemThreadStartup
21 nt!KiThreadStartup
0: kd> dv
          pctxt = 0x89560000
  fDelayExecute = 0x00 ''


0: kd> kc
 #
00 nt!KeSetEvent

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 15:10:38

近视防控到底在“防”什么?

‍  在和很多家长交流时,大家常把近视防控简单等同于“不让孩子度数涨”,可真正深入了解视力发展的规律后会发现,近视防控的核心远不止控制度数这么单一。我们每天面对的用眼场景、眼部功能的动态变化,都藏着近视防控需要关注的…

作者头像 李华
网站建设 2026/6/15 12:56:54

SpringBoot自动配置的黑魔法:5个你可能不知道的底层原理

SpringBoot自动配置的黑魔法:5个你可能不知道的底层原理 引言 SpringBoot的自动配置(Auto-configuration)是其最引人注目的特性之一,它极大地简化了Spring应用的开发流程。许多开发者享受着"开箱即用"的便利&#xff0c…

作者头像 李华
网站建设 2026/6/15 11:50:15

亚马逊云渠道商:AWS RDS备份恢复实战

一、引言在云计算时代,数据是企业最核心的资产。AWS RDS(关系型数据库服务)作为托管数据库解决方案,其备份与恢复功能是保障业务连续性的关键。无论是人为误操作还是系统故障,快速恢复数据都能最大限度减少损失。本文将…

作者头像 李华
网站建设 2026/6/15 11:45:33

CES 2026英伟达开源Alpamayo,以物理AI擘画智驾未来新图景

CES 2026英伟达主题演讲中,英伟达创始人兼CEO黄仁勋宣告AI迎来从“理解语言”到“改变物理世界”的历史性时刻。英伟达披露面向物理AI的技术路线图。从开源模型到智能驾驶场景落地,从云端训练、仿真验证到现实世界部署,英伟达试图以全栈计算体…

作者头像 李华