news 2026/10/5 11:00:32

第一次调用ACPI!ACPIBuildProcessQueueList时ACPI!AcpiBuildDeviceList中项的来源和ACPI!ACPIBuildDeviceRequest函数有关-重要

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第一次调用ACPI!ACPIBuildProcessQueueList时ACPI!AcpiBuildDeviceList中项的来源和ACPI!ACPIBuildDeviceRequest函数有关-重要

第一次调用ACPI!ACPIBuildProcessQueueList时ACPI!AcpiBuildDeviceList中项的来源和ACPI!ACPIBuildDeviceRequest函数有关-重要


0: kd> gu
Breakpoint 19 hit
eax=00000000 ebx=ffdff120 ecx=ffdff988 edx=ffdff980 esi=f73fc5b2 edi=ffdff980
eip=f73fc5b2 esp=f789efa0 ebp=f789eff4 iopl=0         nv up ei pl zr na pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00000246
ACPI!ACPIBuildDeviceDpc:
f73fc5b2 53              push    ebx
0: kd> kc
 #
00 ACPI!ACPIBuildDeviceDpc
01 nt!KiRetireDpcList
02 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
03 0x0


0: kd> x acpi!AcpiBuildDpcRunning
f743b89e          ACPI!AcpiBuildDpcRunning = 0x00 ''

    if (AcpiBuildDpcRunning) {

        //
        // The DPC is already running, so we need to exit now
        //
        KeReleaseSpinLockFromDpcLevel( &AcpiBuildQueueLock );
        return;

    }

    //
    // Remember that the DPC is now running
    //
    AcpiBuildDpcRunning = TRUE;

    //
    // We must try to do *some* work
    //
    do {

        //
        // Assume that we won't do any work
        //
        AcpiBuildWorkDone = FALSE;

        //
        // If there are items in the Request Queue, then move them to the
        // proper list
        //
        if (!IsListEmpty( &AcpiBuildQueueList ) ) {

            //
            // Sort the list
            //分类一下!!!
            ACPIBuildProcessQueueList();

        }


0: kd> kc
 #
00 ACPI!ACPIBuildProcessQueueList
01 ACPI!ACPIBuildDeviceDpc
02 nt!KiRetireDpcList
03 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
04 0x0

acpi!AcpiBuildQueueList
0: kd> x acpi!AcpiBuildQueueList
f743b890          ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906de0 - 0x89906e30 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890))                 [Type: _LIST_ENTRY]
    [+0x000] Flink            :0x89906de0[Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x89906e30 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906de0)
((ACPI!_LIST_ENTRY *)0x89906de0)                 : 0x89906de0 [Type: _LIST_ENTRY *]    1
    [+0x000] Flink            :0x89996208[Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0xf743b890 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89996208)
((ACPI!_LIST_ENTRY *)0x89996208)                 : 0x89996208 [Type: _LIST_ENTRY *]
    [+0x000] Flink            :0x89986158[Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x89906de0 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89986158)
((ACPI!_LIST_ENTRY *)0x89986158)                 : 0x89986158 [Type: _LIST_ENTRY *]
    [+0x000] Flink            :0x899841d8[Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x89996208 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x899841d8)
((ACPI!_LIST_ENTRY *)0x899841d8)                 : 0x899841d8 [Type: _LIST_ENTRY *]
    [+0x000] Flink            :0x89984188[Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x89986158 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89984188)
((ACPI!_LIST_ENTRY *)0x89984188)                 : 0x89984188 [Type: _LIST_ENTRY *]
    [+0x000] Flink            :0x89984138[Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x899841d8 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89984138)
((ACPI!_LIST_ENTRY *)0x89984138)                 : 0x89984138 [Type: _LIST_ENTRY *]
    [+0x000] Flink            : 0x899c21d8 [Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x89984188 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x899c21d8)
((ACPI!_LIST_ENTRY *)0x899c21d8)                 : 0x899c21d8 [Type: _LIST_ENTRY *]
    [+0x000] Flink            : 0x899c2188 [Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x89984138 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x899c2188)
((ACPI!_LIST_ENTRY *)0x899c2188)                 : 0x899c2188 [Type: _LIST_ENTRY *]
    [+0x000] Flink            : 0x899c2138 [Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x899c21d8 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x899c2138)
((ACPI!_LIST_ENTRY *)0x899c2138)                 : 0x899c2138 [Type: _LIST_ENTRY *]
    [+0x000] Flink            : 0x89996ba0 [Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x899c2188 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89996ba0)
((ACPI!_LIST_ENTRY *)0x89996ba0)                 : 0x89996ba0 [Type: _LIST_ENTRY *]    10
    [+0x000] Flink            : 0x89996b50 [Type: _LIST_ENTRY *]
    [+0x004] Blink            : 0x899c2138 [Type: _LIST_ENTRY *]

0: kd> t
eax=00000002 ebx=80afae90 ecx=f743b898 edx=ffdff980 esi=f743b898 edi=ffdff980
eip=f73fbad0 esp=f789ef90 ebp=f789eff4 iopl=0         nv up ei ng nz na pe cy
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00000287
ACPI!ACPIBuildProcessQueueList:
f73fbad0 56              push    esi
0: kd> kc
 #
00 ACPI!ACPIBuildProcessQueueList
01 ACPI!ACPIBuildDeviceDpc
02 nt!KiRetireDpcList
03 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
04 0x0
0: kd> dv

0: kd> dt ACPI_BUILD_REQUEST 0x89906e30
   +0x000 ListEntry        : _LIST_ENTRY [ 0xf743b890 - 0x89907358 ]
   +0x008 Signature        : 0x5f534750
   +0x00c Flags            : 0x100c
   +0x00c UFlags           : __unnamed
   +0x010 WorkDone         : 3
   +0x014 CurrentWorkDone  : 0
   +0x018 NextWorkDone     : 0
   +0x01c BuildContext     : 0x89981a18 Void
   +0x020 Status           : 0n0
   +0x024 CurrentObject    : (null)
   +0x028 CallBack         : (null)
   +0x02c CallBackContext  : (null)
   +0x030 DeviceRequest    : __unnamed
   +0x030 RunRequest       : __unnamed
   +0x030 SynchronizeRequest : __unnamed
   +0x044 Integer          : 0xf743b870
   +0x044 String           : 0xf743b870  "p???"
   +0x044 TargetListEntry  : 0xf743b870 _LIST_ENTRY [

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

千万注意!选对洁净厂房源头厂家,避免踩坑!

选对洁净厂房源头厂家,避免踩坑!前言在当今高科技制造业中,洁净厂房的设计与施工是至关重要的环节。无论是生物医药、半导体制造还是食品加工,都需要一个无尘、无菌的生产环境来保证产品质量和安全。然而,市场上洁净厂…

作者头像 李华
网站建设 2026/10/3 23:44:42

基于django和python框架的OneStep商城线上商店订单管理系统

目录OneStep商城订单管理系统概述核心功能模块技术实现特点应用场景与优势关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!OneStep商城订单管理系统概述 OneStep商城是一个基于Djan…

作者头像 李华
网站建设 2026/10/4 12:26:48

惊人发现:游戏外挂检测算法竟能优化AI鲁棒性测试

——基于对抗样本的鲁棒性测试新范式 一、技术同源性:外挂检测与AI安全的底层逻辑 graph LR A[游戏外挂特征] --> B[行为异常检测] A --> C[内存篡改识别] A --> D[协议逆向分析] B --> E[AI对抗样本检测] C --> F[模型权重防护] D --> G[输入输…

作者头像 李华
网站建设 2026/10/4 13:07:54

薄膜分切机远程监控管理平台方案

在包装材料、印刷覆膜、新能源电池等行业,薄膜分切工艺是保障材料尺寸精度与外观质量的关键环节,其主要功能是将宽幅薄膜材料根据生产需求分切成特定宽度的卷材,以满足下游工序或终端使用要求。随着生产规模扩大与质量追溯体系的深化&#xf…

作者头像 李华