使用文件句柄
下表列出了驱动程序可以对文件句柄执行的操作以及执行这些操作的相应例程。
Operation | 要调用的例程 |
---|---|
从文件读取数据。 |
|
将数据写入文件。 |
|
读取文件或文件句柄的元数据。 |
|
写入文件或文件句柄的元数据。 |
若要指示开始读取或写入数据的文件中的位置,请分别将 ByteOffset 参数传递给 ZwReadFile 或 ZwWriteFile。
如果使用FILE_APPEND_DATA访问权限打开句柄,则所有数据将写入文件末尾,并忽略 ByteOffset 参数。
在某些情况下,I/O 管理器维护文件的当前文件位置指针。 可以通过为 ByteOffset 指定 NULL,在该位置开始读取或写入操作。 有关当前文件位置指针何时存在的详细信息,请参阅本部分后面的 使用当前文件位置 。
若要检查或更改有关文件的信息,请分别调用 ZwQueryInformationFile 或 ZwSetInformationFile。 将特定类型的信息指定为每个例程的 FileInformationClass 参数。 例如,将 FileInformationClass 设置为 FileBasicInformation 可以检查或更改 FILE_BASIC_INFORMATION 结构,该结构包含文件创建时间和上次访问时间的成员等。 有关 FileInformationClass 的所有可能值的信息,请参阅 FILE_INFORMATION_CLASS。