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


Функция ZwSetVolumeInformationFile (ntifs.h)

Подпрограмма ZwSetVolumeInformationFile изменяет сведения о томе, связанном с данным файлом, каталогом, устройством хранения или томом.

Синтаксис

NTSYSAPI NTSTATUS ZwSetVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [in]  PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Параметры

[in] FileHandle

Обработка объекта файла для открытого файла, каталога, запоминающего устройства или тома, сведения о томе которого необходимо изменить.

[out] IoStatusBlock

Указатель на структуру IO_STATUS_BLOCK , которая получает окончательное состояние завершения и сведения об операции.

[in] FsInformation

Указатель на буфер, выделенный вызывающим объектом, содержащий сведения о томе, которые необходимо изменить. Структура данных в этом буфере зависит от значения FsInformationClass, как показано в следующей таблице.

[in] Length

Размер буфера, на который указывает FsInformation, в байтах. Вызывающий объект должен задать этот параметр в соответствии с заданным FsInformationClass.

[in] FsInformationClass

Тип устанавливаемых сведений о томе. Это может быть:

Значение Значение
FileFsControlInformation Задайте FILE_FS_CONTROL_INFORMATION для тома.
FileFsLabelInformation Задайте FILE_FS_LABEL_INFORMATION для тома.
FileFsObjectIdInformation Задайте FILE_FS_OBJECTID_INFORMATION для тома.

Возвращаемое значение

ZwSetVolumeInformationFile возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:

Код возврата Описание
STATUS_INFO_LENGTH_MISMATCH
Для параметра Length задано недопустимое значение. Это код ошибки.
STATUS_INSUFFICIENT_RESOURCES

В ZwSetVolumeInformationFile произошла ошибка выделения пула. Это код ошибки.

STATUS_INVALID_INFO_CLASS
Для FsInformationClass указано недопустимое значение. Это код ошибки.

Комментарии

Чтобы запросить сведения о томе, вызовите ZwQueryVolumeInformationFile.

Чтобы изменить сведения о файле, вызовите ZwSetVolumeInformationFile.

Минифильтры должны использовать FltSetInformationFile вместо ZwSetVolumeInformationFile.

Примечание Если вызов функции ZwSetVolumeInformationFileвыполняется в пользовательском режиме, следует использовать имя NtSetInformationFile вместо ZwSetVolumeInformationFile.
 
Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы Собственные системные службы Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями подпрограмм NtXxx и ZwXxx см. в разделе Использование версий NT и Zw подпрограмм собственных системных служб.

Требования

Требование Значение
Минимальная версия клиента Windows Server 2003
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

См. также раздел

FILE_FS_CONTROL_INFORMATION

FILE_FS_LABEL_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FltSetInformationFile

IRP_MJ_SET_VOLUME_INFORMATION

Использование версий nt и Zw собственных системных служб

ZwQueryVolumeInformationFile

ZwSetInformationFile