当前位置: 首页 > news >正文

nt!NtReplyWaitReceivePortEx函数分析之nt!LpcpMoveMessage拷贝csr_api_msg


第一部分:等待有信号了返回

    //
    //  The timeout on this wait and the next wait appear to be the
    //  only substantial difference between NtReplyWaitReceivePort
    //  and NtReplyWaitReceivePortEx

    Status = KeWaitForSingleObject( ReceivePort->MsgQueue.Semaphore,
                                    WrLpcReceive,
                                    WaitMode,
                                    FALSE,
                                    Timeout );

第二部分:
1: kd> dv
          PortHandle = 0x000001c4
         PortContext = 0x0084ffb0
        ReplyMessage = 0x0084fed0
      ReceiveMessage = 0x0084fed0
 
1: kd> dx -r1 ((ntkrnlmp!_PORT_MESSAGE *)0x84fed0)
((ntkrnlmp!_PORT_MESSAGE *)0x84fed0)                 : 0x84fed0 [Type: _PORT_MESSAGE *]
    [+0x000] u1               [Type: __unnamed]
    [+0x004] u2               [Type: __unnamed]
    [+0x008] ClientId         [Type: _CLIENT_ID]
    [+0x008] DoNotUseThisField : 0.000000 [Type: double]
    [+0x010] MessageId        : 0xa [Type: unsigned long]
    [+0x014] ClientViewSize   : 0x0 [Type: unsigned long]
    [+0x014] CallbackId       : 0x0 [Type: unsigned long]
1: kd> dt csr_api_msg 0x84fed0
csrsrv!CSR_API_MSG
   +0x000 h                : _PORT_MESSAGE
   +0x018 ConnectionRequest : _CSR_API_CONNECTINFO
   +0x018 CaptureBuffer    : (null)
   +0x01c ApiNumber        : 0x10001
   +0x020 ReturnValue      : 0
   +0x024 Reserved         : 0x70c50
   +0x028 u                : __unnamed

第三部分:


        //
        //  We have a message in our receive p

http://www.xdnf.cn/news/256429.html

相关文章:

  • 【数据结构】单链表的增删查改
  • 微软发布了最新的开源推理模型套件“Phi-4-Reasoning
  • 构建更快,部署更智能:立即优化您的 Docker 设置
  • CPO-BP+NSGA,豪冠猪优化BP神经网络+多目标遗传算法!(Matlab完整源码和数据)
  • 如何掌握 Lustre/Scade 同步数据流语言
  • BERT+CRF模型在命名实体识别(NER)任务中的应用
  • 自主机器人模拟系统
  • Flutter - 概览
  • 数字智慧方案5869丨智慧健康医疗养老大数据整体规划方案(76页PPT)(文末有下载方式)
  • 【HarmonyOS Next】地图使用详解(三)标点定位问题
  • Java 中 Unicode 字符与字符串的转换:深入解析与实践
  • Go-web开发之帖子功能
  • 纯前端Word文档在线预览工具
  • Fedora升级Google Chrome出现GPG check FAILED问题解决办法
  • PyTorch_创建张量
  • 爱胜品ICSP YPS-1133DN Plus黑白激光打印机报“自动进纸盒进纸失败”处理方法之一
  • 解决Flutter项目中Gradle构建Running Gradle task ‘assembleDebug‘卡顿问题的终极指南
  • 【AI面试准备】元宇宙测试:AI+低代码构建虚拟场景压力测试
  • InnoDB索引的原理
  • 模型上下文协议(MCP)
  • 学习记录:DAY22
  • 数字智慧方案5873丨智慧交通设计方案(57页PPT)(文末有下载方式)
  • 动态库与静态库的区别
  • 内置类型成员变量的初始化详解
  • PostgreSQL 的 VACUUM 与 VACUUM FULL 详解
  • 6.DOS
  • 数字世界的“私人车道“:网络切片如何用Python搭建专属通信高速路?
  • 情境领导理论——AI与思维模型【89】
  • 单片机-STM32部分:0、学习资料汇总
  • RISCV的smstateen-ssstateen扩展