猿问

了解文件访问代码片段的“原因”

在过去的几天里,我一直在努力理解一段代码片段。你可以在这里找到要点

概述

代码读取 Windows 驱动器的 MFT,在 MFT 中创建文件映射结构。然后它继续读取 USN 日志以检测这些文件发生了什么变化。

问题

脚本中发生了一些逻辑操作。我可以理解代码部分在做什么,但为什么这样做是过去几天一直困扰我的问题。我偶然发现了各种类似这样的Windows 文档,但即便如此,它对我来说也没有多大意义。

例如 -

switch mode & (O_RDONLY | O_WRONLY | O_RDWR) {

case O_RDONLY:

    access = GENERIC_READ

case O_WRONLY:

    access = GENERIC_WRITE

case O_RDWR:

    access = GENERIC_READ | GENERIC_WRITE

}

if mode&O_CREAT != 0 {

    access |= GENERIC_WRITE

}

if mode&O_APPEND != 0 {

    access &^= GENERIC_WRITE

    access |= FILE_APPEND_DATA

}

我们为什么要做这些逻辑操作?代码中还有此类部分的其他实例。如果有人能指出方向或帮助我完成这些操作,那将非常有帮助。谢谢


函数式编程
浏览 81回答 0
0回答
随时随地看视频慕课网APP

相关分类

Go
我要回答