NtfsWriteLog函数分析之OpenAttributeTableDump


第一部分:

                NtfsWriteLog( IrpContext,
                              Vcb->MftScb,                    //注意:Vcb->MftScb
                              NULL,
                              OpenAttributeTableDump,
                              Vcb->OnDiskOat->Table,
                              SizeOfRestartTable( Vcb->OnDiskOat ),
                              Noop,
                              NULL,
                              0,
                              (LONGLONG)0,
                              0,
                              0,
                              0 );


第二部分:

F:\srv03rtm>grep "OpenAttributeTableDump" -rn F:\srv03rtm\base\fs |grep -v "inary"
F:\srv03rtm\base\fs/ntfs/logsup.c:2279:                              OpenAttributeTableDump,
F:\srv03rtm\base\fs/ntfs/ntfskd/ntfskd.c:258:    { "OpenAttributeTableDump       " },
F:\srv03rtm\base\fs/ntfs/ntfslog.h:63:    OpenAttributeTableDump =       0x1D, //  OPEN_ATTRIBUTE_ENTRY array
F:\srv03rtm\base\fs/ntfs/restrsup.c:2466:            case OpenAttributeTableDump:
F:\srv03rtm\base\fs/ntfs/restrsup.c:4475:    case OpenAttributeTableDump:

第三部分:

VOID
AnalysisPass (
    IN PIRP_CONTEXT IrpContext,
    IN PVCB Vcb,
    IN LSN CheckpointLsn,
    IN OUT PRESTART_POINTERS DirtyPageTable,
    OUT PLSN RedoLsn
    )
{

            //
            //  The following cases require no action in the Analysis Pass.
            //

            case Noop:
            case OpenAttributeTableDump:
            case AttributeNamesDump:
            case DirtyPageTableDump:
            case TransactionTableDump:


第四部分:

VOID
DoAction (
    IN PIRP_CONTEXT IrpContext,
    IN PVCB Vcb,
    IN PNTFS_LOG_RECORD_HEADER LogRecord,
    IN NTFS_LOG_OPERATION Operation,
    IN PVOID Data,
    IN ULONG Length,
    IN ULONG LogRecordLength,
    IN PLSN RedoLsn OPTIONAL,
    IN PSCB Scb OPTIONAL,
    OUT PBCB *Bcb,
    OUT PLSN *PageLsn
    )
{
    //
    //  The following cases require no action during the Redo or Undo Pass.
    //

    case Noop:
    case DeleteDirtyClusters:
    case HotFix:
    case EndTopLevelAction:
    case PrepareTransaction:
    case CommitTransaction:
    case ForgetTransaction:
    case CompensationLogRecord:
    case OpenNonresidentAttribute:
    case OpenAttributeTableDump:
    case AttributeNamesDump:
    case DirtyPageTableDump:
    case TransactionTableDump:

        break;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/87765.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/87765.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DCM4CHEE ARCHIVE LIGHT 源代码解析(2)-STOWRS

系列文章目录 DCM4CHEE ARCHIVE LIGHT 源代码解析(1)-前言DCM4CHEE ARCHIVE LIGHT 源代码解析(2)-STOWRS文章目录 系列文章目录概述一、背景资料1、RESTful服务2、传输存储规范3、服务连接策略4、响应消息状态二、业务分析1、对象关系2、项目结构3、业务流程三、代码解析1、w…

Java中间件简介:构建现代软件的“隐形桥梁”

Java中间件简介:构建现代软件的“隐形桥梁” 在软件开发的世界里,中间件(Middleware)是一个既熟悉又神秘的存在。它不像数据库那样直接存储数据,也不像前端那样与用户交互,但它却是现代软件架构中不可或缺…

Scale AI 的王晓磊带着对整个 AI 行业动态的深入了解加入 Meta

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

冒烟测试概念速解

最近很多人对冒烟测试这个概念发出疑问。那么我就来简单解释一下什么是冒烟测试,以及冒烟测试的由来。 1.冒烟测试的由来 硬件测试的起源:从 “冒烟” 到基础功能验证 在电子工程领域,早期工程师在调试新硬件(如电路板、芯片&am…

嵌入式学习笔记——day36-多路IO复用

一、基本概念 (服务器多客户端模型) 定义: 单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用: 应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠…

微服务数据一致性技术解析:从单体到微服务的数据困局

关键词: 微服务数据一致性, 企业应用, 技术架构, 最佳实践 本文基于多位资深架构师在大型互联网公司的实战经验总结,希望能为正在进行微服务改造的团队提供有价值的参考。如果您在实践中遇到问题,欢迎交流讨论! 目录 一、引言:从…

华为云Flexus+DeepSeek征文 | 基于华为云ModelArts Studio搭建Chatbox AI聊天助手

华为云FlexusDeepSeek征文 | 基于华为云ModelArts Studio搭建Chatbox AI聊天助手 引言一、ModelArts Studio平台介绍华为云ModelArts Studio简介ModelArts Studio主要特点 二、Chatbox介绍Chatbox简介主要特点 三、安装Chatbox应用下载Chatbox软件安装Chatbox工具 四、开通Deep…

基于cpolar的GPT-SoVITS远程访问实践过程

文章目录 前言1.GPT-SoVITS V2下载2.本地运行GPT-SoVITS V23.简单使用演示4.安装内网穿透工具4.1 创建远程连接公网地址 5. 固定远程访问公网地址 前言 在人工智能技术持续革新之际,语音合成领域涌现出突破性进展。由开发者团队"花儿不哭"研发的GPT-SoVI…

Redis数据结构之HyperLogLog

本文作者没有设置VIP可见,并首发在我的博客:https://blog.liuzijian.com/post/redis-data-structure-hyperloglog.html 目录 1.概述2.常用命令2.1 添加元素2.2 返回基数估算值2.3 合并hyperloglog 3.总结 1.概述 基数统计是一种去重复统计功能的基数估计…

django调用 paramiko powershell 获取cpu 核数

在 Django 应用中使用 paramiko 库通过 SSH 连接到远程服务器并执行命令(例如获取 CPU 核数)是一个常见的需求。下面是一个如何实现这一过程的步骤指南: 步骤 1: 安装必要的库 首先,确保你的 Django 项目中安装了 paramiko 库。如…

08-Python文件处理

08-Python文件处理 一、打开关闭文件 可以用 file 对象做大部分的文件操作。 file()在python3中已经被废除,使用open()打开文件 open 函数 先用open()打开一个文件,创建一个file 对象,再用相关方法才可以调用它进行读写。 语法 file ob…

增强现实—Multimodal text style transfer for outdoor vision-and-language navigation

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

黑马程序员新版Linux学习笔记——第二部分 基础命令

一、Linux目录结构 二、命令基础 三、ls 列目录内容 3.1 命令 3.2 参数 3.3 总结 四、cd 切换工作目录 4.1命令 五、pwd 查看当前工作目录 5.1命令 六、相对路径、绝对路径、特殊路径符 七、mkdir 创建目录命令 7.1命令 八、touch、cat、more 文件操作命令 8.1 touch 8.2c…

日常运维问题汇总-25

76.销售订单交货单状态更新 实务中偶有发生交货已完成,无需开票或开票已经完成,交货单状态为:处理中,且仍然出现在VF04中,如下图所示: 解决方法: T-CODE:VL_COMPLETE,可对错误的DN状态进行更新…

【2025 年】软件体系结构考试试卷-期末考试

2025 年软件体系结构考试试卷 考试学期:2025 考试形式:闭卷 考试时间:120 分钟 年级:______ 专业:软件工程 班级:______ 一、单选题(每小题 1.5 分,共 24 分) 关于策略…

4.查看、删除数据库

1.显示所有数据库 SHOW DATABASE 2.显示数据库创建语句 SHOW CREAT DATABASE db_name 例如想查看某个数据库是怎样创建的,用的什么字符集啥的。 3.数据库删除语句【慎用】 DROP DATABASE [IF EXISTS] db_name 删除某个数据库之前一定要确定是否进行了备份。

设计模式 - 原型模式

原型模式(Prototype),在制造业种通常是指大批量生产开始之前研发出的概念模型,并基于各种参数指标对其进行检验,效果达到了质量要求,即可参照这个原型进行批量生产。即,原型模式可以用对象创建对…

MySQL数据库基础:从零开始的第一步【Linux】

前言 各位小伙伴们,好久不见!近期,我的文章更新频率确实有些缓慢,在此诚挚地向大家道歉。这个月是我的期末考试月,正处于紧张的复习(也可以说是重新学习)阶段。尽管学业繁忙,但我依然…

502 Bad Gateway:服务器作为网关或代理时收到无效响应处理方式

502 Bad Gateway 错误是 Web 开发和服务器管理中常见的问题,通常表示网关或代理服务器收到无效响应。这种错误可能由多种原因引起,包括后端服务故障、网络问题或配置错误等。了解502错误的原因及其处理方式,对于维护网站的可用性和用户体验至…

Abel 变换,离散型分部积分

文章目录 零、引入:分部积分一、Abel 变换1.1 Abel 变换1.2 证明 二、一些比较浅显的应用2.1 等差 乘 等比型求和2.2 平方求和公式2.3 不等式证明 三、一些算法题的式子优化3.1 3500.将数组分割为子数组的最小代价3.2 D. Array Splitting3.3 300. 任务安排1 零、引入…