Поделиться через


Использование дескриптора файлов

В следующей таблице перечислены операции, которые драйверы могут выполнять с дескриптором файла и соответствующими подпрограммами, выполняющими эти операции.

Операция Программа для вызова

Чтение данных из файла.

ZwReadFile

Запишите данные в файл.

ZwWriteFile

Чтение метаданных для файла или дескриптора файла.

ZwQueryInformationFile

Запись метаданных для файла или дескриптора файла.

ZwSetInformationFile

Чтобы указать, где в файле начать чтение или запись данных, передайте параметр ByteOffset в ZwReadFile или ZwWriteFileсоответственно.

Если вы открыли дескриптор файла с доступом FILE_APPEND_DATA, все данные записываются в конец файла, а параметр ByteOffset игнорируется.

При определенных условиях диспетчер ввода-вывода поддерживает текущий указатель на положение файла. Вы можете начать операцию чтения или записи с этой позиции, указав NULL для ByteOffset. Дополнительные сведения о наличии текущего указателя положения файла см. в разделе Использование текущей позиции файла далее в этом разделе.

Чтобы проверить или изменить сведения о файле, вызовите ZwQueryInformationFile или ZwSetInformationFileсоответственно. Вы указываете конкретный тип сведений в качестве параметра FileInformationClass для каждой подпрограммы. Например, установка FileInformationClass в значение FileBasicInformation позволяет изучать или изменять структуру FILE_BASIC_INFORMATION, которая содержит элементы, такие как время создания файла и время последнего доступа. Сведения обо всех возможных значениях FileInformationClassсм. в FILE_INFORMATION_CLASS.