Функция KsWriteFile (ks.h)
Функция KsWriteFile выполняет запись в указанный объект файла. Предполагается, что вызывающий объект сериализует доступ к файлу для операций с объектом файла FO_SYNCHRONOUS_IO. Функция пытается использовать FastIoDispatch, если это возможно, или создает запрос на запись для объекта устройства. Все соответствующие статистические данные обновляются.
Синтаксис
KSDDKAPI NTSTATUS KsWriteFile(
[in] PFILE_OBJECT FileObject,
[in, optional] PKEVENT Event,
[in, optional] PVOID PortContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PVOID Buffer,
[in] ULONG Length,
[in, optional] ULONG Key,
[in] KPROCESSOR_MODE RequestorMode
);
Параметры
[in] FileObject
Указывает объект файла для выполнения операции чтения.
[in, optional] Event
При необходимости содержит событие, используемое в записи. Если событие не передается, предполагается, что вызов находится в синхронном объекте файла или вызывающий объект ожидает события объекта файла. Если вызов не находится в синхронном объекте файла, его можно выполнить асинхронно. Если файл открыт для синхронного ввода-вывода, эта переменная должна быть null. Если эта переменная используется, она должна быть событием, выделенным диспетчером объектов.
[in, optional] PortContext
При необходимости содержит сведения о контексте для порта завершения.
[out] IoStatusBlock
Указывает расположение, в котором возвращаются сведения о состоянии. Это всегда считается допустимым адресом независимо от режима запроса.
[in] Buffer
Указывает буфер, из которого необходимо записать данные. Если буфер должен быть проверен и заблокирован, используется обработчик исключений, а также RequesterMode.
[in] Length
Указывает размер переданного буфера.
[in, optional] Key
При необходимости содержит ключ или ноль, если нет.
[in] RequestorMode
Указывает режим процессора, который нужно разместить в IRP чтения, если необходимо создать. Кроме того, он используется, если буфер должен быть проверен и заблокирован. Эта переменная также определяет, можно ли выполнять быстрый вызов ввода-вывода. Если режим запроса не является KernelMode, но предыдущий режим был, то использовать быстрый ввод-вывод нельзя.
Возвращаемое значение
Функция KsWriteFile возвращает STATUS_SUCCESS в случае успешного выполнения, STATUS_PENDING, если действие ожидается, или возвращает ошибку чтения при неудачном выполнении.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ks.h (include Ks.h) |
библиотеки | Ks.lib |