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


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

ZwSetQuotaInformationFile изменяет записи квоты для тома, связанного с параметром FileHandle. Все записи квоты в указанном буфере применяются к тому.

Синтаксис

NTSYSAPI NTSTATUS ZwSetQuotaInformationFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PVOID            Buffer,
  [in]  ULONG            Length
);

Параметры

[in] FileHandle

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

[out] IoStatusBlock

Адрес блока состояния ввода-вывода вызывающего объекта.

[in] Buffer

Буфер, содержащий новые записи квоты, которые следует применить к тому. Сведения о квоте должны быть отформатированы как одна или несколько структур FILE_QUOTA_INFORMATION. Поле NextEntryOffset в структуре FILE_QUOTA_INFORMATION содержит смещение в байтах следующей записи квоты в списке. Если после текущего элемента больше нет записей, этот элемент равен нулю.

[in] Length

Длина буфера в байтах.

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

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

Возвращаемый код Описание
STATUS_INSUFFICIENT_RESOURCES Для завершения операции недостаточно ресурсов. Это код ошибки.
STATUS_INVALID_DEVICE_REQUEST Квоты не включены в томе. Это код ошибки.
STATUS_MEDIA_WRITE_PROTECTED Том доступен только для чтения. Это код ошибки.

Замечания

Подпрограмма ZwSetQuotaInformationFile применяет все записи квоты в указанном параметре буфера буфера тома.

Функция IoCheckQuotaBufferValidity может проверить, является ли указанный буфер квоты допустимым параметром Buffer.

Вызов ZwSetQuotaInformationFile приведет к отправке запроса IRP_MJ_SET_QUOTA на объект устройства, связанный с объектом файла, дескриптор которого хранится в параметре FileHandle.

Если базовая файловая система не поддерживает сведения о квотах (например, файловых системах FAT и CDFS), ZwSetQuotaInformationFile завершится ошибкой возврата STATUS_INVALID_DEVICE_REQUEST.

Заметка

Если вызов функции ZwSetQuotaInformationFile происходит в пользовательском режиме, следует использовать имя "NtSetQuotaInformationFile" вместо "ZwSetQuotaInformationFile".

Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 7
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h, FltKernel.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

См. также

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

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

ZwQueryQuotaInformationFile