Использование дескриптора файлов
В следующей таблице перечислены операции, которые драйверы могут выполнять с дескриптором файла, и соответствующие процедуры, которые выполняют эти операции.
Операция | Подпрограмма для вызова |
---|---|
Чтение данных из файла. |
|
Запись данных в файл. |
|
Чтение метаданных для файла или дескриптора файла. |
|
Запись метаданных для файла или дескриптора файла. |
Чтобы указать, где в файле начать чтение или запись данных, передайте параметр ByteOffset в ZwReadFile или ZwWriteFile соответственно.
Если вы открыли дескриптор с FILE_APPEND_DATA доступа, все данные записываются в конец файла, а параметр ByteOffset игнорируется.
При определенных условиях диспетчер ввода-вывода поддерживает текущий указатель позиции файла для файла. Вы можете начать операцию чтения или записи в этой позиции, указав значение NULL в параметре ByteOffset. Дополнительные сведения о том, когда существует указатель текущей позиции файла, см. в разделе Использование текущей позиции файла далее в этом разделе.
Чтобы просмотреть или изменить сведения о файле, вызовите ZwQueryInformationFile или ZwSetInformationFile соответственно. Вы указываете конкретный тип сведений в качестве параметра FileInformationClass для каждой подпрограммы. Например, если для параметра FileInformationClassзадано значение FileBasicInformation , можно изучить или изменить структуру FILE_BASIC_INFORMATION , которая содержит элементы для времени создания файла и времени последнего доступа. Сведения обо всех возможных значениях fileInformationClass см. в разделе FILE_INFORMATION_CLASS.