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

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

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

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

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.