Функция 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 применяет все записи квоты в указанном параметре Buffer к тому.
Функция IoCheckQuotaBufferValidity может проверка, является ли заданный буфер квоты, переданный в качестве параметра Buffer, допустимым.
Вызов ZwSetQuotaInformationFile приведет к отправке запроса IRP_MJ_SET_QUOTA объекту устройства, связанному с объектом файла, дескриптор которого хранится в параметре FileHandle .
Если базовая файловая система не поддерживает сведения о квоте (например, файловые системы FAT и CDFS), ZwSetQuotaInformationFile не сможет вернуть STATUS_INVALID_DEVICE_REQUEST.
Примечание
Если вызов функции ZwSetQuotaInformationFile выполняется в пользовательском режиме, следует использовать имя NtSetQuotaInformationFile вместо ZwSetQuotaInformationFile.
Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы собственных системных служб Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями процедуры NtXxx и ZwXxx см. в разделе Использование версий Nt и Zw для процедур собственных системных служб.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h, FltKernel.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
См. также раздел
Использование версий Nt и Zw собственных процедур системных служб