加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.cn/)- 运营、云管理、经验、智能边缘、云硬盘!
当前位置: 首页 > 运营 > 正文

内核下文件读写函数

发布时间:2021-03-24 16:26:24 所属栏目:运营 来源:互联网
导读:下。 FileHandle: 用来接收创建文件后的文件句柄。 DesiredAccess: 打开文件操作的描述,读或写,一般指定为 GENERIC_READ 或 GENERIC_WRITE;该参数和 CreateFile()函数中的参数相同。 ObjectAttributes: 指向 OBJECT_ATTRIBUTES 结构体的指针,该结构体

下。

FileHandle:用来接收创建文件后的文件句柄。

DesiredAccess:打开文件操作的描述,读或写,一般指定为 GENERIC_READ 或 GENERIC_WRITE;该参数和 CreateFile()函数中的参数相同。

ObjectAttributes:指向 OBJECT_ATTRIBUTES 结构体的指针,该结构体包含要创建或打开的文件名。

IoStatusBlock:指向 IO_STATUS_BLOCK 结构体的指针,该结构体用于接收操作结果的状态。

AllocationSize:该参数指向一个 64 位的整数,用于文件初始化分配时的大小。

FileAttributes:通常为 FILE_ATTRIBUTE_NORMAL,该参数和 CreateFile()函数中的参数相同。

ShareAccess:指定文件的共享方式,可以指定为 FILE_SHARE_READ、FILE_SHARE_WRITE 或 FILE_SHARE_DELETE,该参数和 CreateFile()函数中的参数相同。

CreateDisposition:描述本次调用 ZwCreateFile()函数的意图,可以指定为 FILE_CREATE、FILE_OPEN、FILE_OPEN_IF 等。

CreateOptions:通常指定为 FILE_SYNCHRONOUS_IO_NONALERT,表示文件是同步操作,比如在写入文件时,调用 ZwWriteFile()函数,在 ZwWriteFile()调用返回时,文件写操作已经完成。

EaBuffer:该参数表示一个指针,指向可选的扩展属性区,一般为 NULL。

EaLength:该参数表示扩展属性区的长度,一般为 0。

ZwCreateFile()函数的第 3 个参数是一个指向 OBJECT_ATTRIBUTES 的结构体,该结构体的定义如下:

ObjectAttributes()函数的定义可以看出,其参数与OBJECT_ATTRIBUTES结构体的成员变量相同。InitializeObjectAttributes()函数的参数说明如下。

InitializeAttributes:指向 OBJECT_ATTRIBUTES 结构体的指针。

ObjectName:对象名称,用 UNICODE_STRING 描述,对于 ZwCreateFile()函数而言,该处指定为文件名。

Attributes:一般设置为 OBJ_CASE_INSENSITIVE,意味着名字字符串不区分大小写。

RootDirectory:一般设置为 NULL。

SecurityDescriptor:用于设置安全描述符,一般设置为 NULL。

ObjectName 必须使用 UNICODE_STRING 类型进行描述,UNICODE_STRING 是内核对宽字符串封装的一种数据结构,该结构体的定义如下:

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读