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

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

Синтаксис

__kernel_entry NTSYSCALLAPI NTSTATUS NtSetQuotaInformationFile(
  [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

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

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

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

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

Замечания

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

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

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

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

Замечание

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

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

Требования

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

См. также

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

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

NtQueryQuotaInformationFile