Функция 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, например одно из следующих значений:

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

Комментарии

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

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

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

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

Примечание

Если вызов функции NtSetQuotaInformationFile выполняется в режиме ядра, следует использовать имя "[ZwSetQuotaInformationFile](nf-ntifs-zwsetquotainformationfile.md" вместо "NtSetQuotaInformationFile".

Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы собственных системных служб Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями процедуры NtXxx и ZwXxx см. в разделе Использование версий Nt и Zw для процедур собственных системных служб.

Требования

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

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

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

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

NtQueryQuotaInformationFile