news 2026/6/9 21:31:11

ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点USB的子节点PRW的处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点USB的子节点PRW的处理

ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点USB的子节点PRW的处理

Device (USB)
{
Name (_ADR, 0x00070002) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x08,
0x01
})
}

1: kd> g
Breakpoint 33 hit
eax=899b3fe0 ebx=89982468 ecx=89982448 edx=00000001 esi=89982418 edi=8998245c
eip=f7415242 esp=f78aef34 ebp=f78aef60 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!AMLIAsyncEvalObject:
f7415242 55 push ebp
1: kd> kc
#
00 ACPI!AMLIAsyncEvalObject
01 ACPI!ACPIBuildProcessDeviceGenericEvalStrict

02 ACPI!ACPIBuildProcessGenericList
03 ACPI!ACPIBuildDeviceDpc
04 nt!KiRetireDpcList
05 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
06 0x0
1: kd> dv
pns = 0x899b3fe0
pdataResult = 0x89982448
icArgs = 0n0
pdataArgs = 0x00000000
pfnAsyncCallBack = 0xf73fa5bc
pvContext = 0x89982418
pHData = 0x00000008
1: kd> dx -r1 ((ACPI!_NSObj *)0x899b3fe0)
((ACPI!_NSObj *)0x899b3fe0) : 0x899b3fe0 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x899b3f00 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x5752505f [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x899b3f44 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x899b3fe0
899b3fe0 44 3f 9b 89 44 3f 9b 89-00 3f 9b 89 00 00 00 00 D?..D?...?......
899b3ff0 5f 50 52 57 30 f3 9a 89-44 3f 9b 89 00 00 04 00 _PRW0...D?......
899b4000 00 00 00 00 00 00 00 00-2c 00 00 00 a8 3f 9b 89 ........,....?..
899b4010 00 00 00 00 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
899b4020 00 f0 9a 89 00 3f 9b 89-e4 b3 96 89 ac ff 9a 89 .....?..........
899b4030 68 40 9b 89 49 44 45 5f-30 f3 9a 89 e0 3f 9b 89 h@..IDE_0....?..
899b4040 00 00 06 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b4050 00 00 00 00 b0 22 98 89-00 00 00 00 48 4e 53 4f ....."......HNSO
1: kd> db 0x899b3f00
899b3f00 68 3c 9b 89 24 40 9b 89-ac ff 9a 89 44 3f 9b 89 h<..$@......D?..
899b3f10 55 53 42 5f 30 f3 9a 89-9c 3e 9b 89 00 00 06 00 USB_0....>......
899b3f20 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b3f30 68 24 98 89 00 00 00 00-48 4e 53 4f 44 00 00 00 h$......HNSOD...
899b3f40 00 f0 9a 89 e0 3f 9b 89-e0 3f 9b 89 00 3f 9b 89 .....?...?...?..
899b3f50 00 00 00 00 5f 41 44 52-30 f3 9a 89 00 3f 9b 89 ...._ADR0....?..
899b3f60 00 00 01 00 00 00 00 00-02 00 07 00 00 00 00 00 ................
899b3f70 00 00 00 00 00 00 00 00-00 00 00 00 48 4d 45 54 ............HMET

#define DATAF_NSOBJ_DEFUNC 0x00000004

1: kd> kc
#
00 ACPI!AsyncEvalObject
01 ACPI!AMLIAsyncEvalObject
02 ACPI!ACPIBuildProcessDeviceGenericEvalStrict
03 ACPI!ACPIBuildProcessGenericList
04 ACPI!ACPIBuildDeviceDpc
05 nt!KiRetireDpcList
06 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
07 0x0
1: kd> dv
pns = 0x899b3fe0
pdataResult = 0x89982448
icArgs = 0n0
pdataArgs = 0x00000000
pfnAsyncCallBack = 0xf73fa5bc
pvContext = 0x89982418
fAsync = 0x01 ''
pctxt = 0x00000008


1: kd> g
Breakpoint 42 hit
eax=00000000 ebx=899b3ffc ecx=899b3ffc edx=89895fe4 esi=f7438ca8 edi=00000000
eip=f74207d4 esp=f78aeedc ebp=f78aeefc iopl=0 nv up ei ng nz ac pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000297
ACPI!RestartContext:
f74207d4 55 push ebp
1: kd> kc
#
00 ACPI!RestartContext
01 ACPI!AsyncEvalObject
02 ACPI!AMLIAsyncEvalObject
03 ACPI!ACPIBuildProcessDeviceGenericEvalStrict
04 ACPI!ACPIBuildProcessGenericList
05 ACPI!ACPIBuildDeviceDpc
06 nt!KiRetireDpcList
07 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
08 0x0
1: kd> dv
pctxt = 0x89894000
fDelayExecute = 0x00 ''

else if ((prest = NEWRESTOBJ(sizeof(RESTART))) != NULL)
{
pctxt->dwfCtxt |= CTXTF_NEED_CALLBACK;
prest->pctxt = pctxt;
ExInitializeWorkItem(&prest->WorkItem, RestartCtxtPassive, prest);
OSQueueWorkItem(&prest->WorkItem);
rc = AMLISTA_PENDING;
}

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

计算机Java毕设实战-基于Springboot和Vue的学生选课管理系统基于springboot的学生选课管理系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/5 18:38:39

2026年区块链测试的新挑战:软件测试从业者专业指南

随着区块链技术在金融、能源和政务等领域的深度融合&#xff0c;2026年软件测试从业者面临前所未有的复杂性。区块链的分布式架构、智能合约和加密机制虽提升数据可信度&#xff0c;但也引入了独特的测试难题。本文系统分析五大核心挑战&#xff0c;并提供可落地的测试策略。 …

作者头像 李华
网站建设 2026/6/9 1:07:14

全网热议!2026年签到二维码推荐榜单,助你提升考勤管理效率

在2026年&#xff0c;签到二维码正成为提升考勤管理效率的重要工具。这类二维码不仅便捷&#xff0c;还可以实现快速记录出席信息。通过简单的扫码操作&#xff0c;无论是在学校课堂还是企业会议&#xff0c;参与者都能轻松签到。使用这些二维码&#xff0c;可以避免手动填写带…

作者头像 李华