Функция NtQueryQuotaInformationFile (ntifs.h)
Подпрограмма NtQueryQuotaInformationFile извлекает записи квоты, связанные с томом, указанным параметром FileHandle .
Синтаксис
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryQuotaInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID Buffer,
[in] ULONG Length,
[in] BOOLEAN ReturnSingleEntry,
[in, optional] PVOID SidList,
[in] ULONG SidListLength,
[in, optional] PSID StartSid,
[in] BOOLEAN RestartScan
);
Параметры
[in] FileHandle
Дескриптор для объекта файла, представляющего файл или том, для которого запрашивается информация о квоте.
[out] IoStatusBlock
Адрес блока состояния ввода-вывода вызывающего абонента.
[out] Buffer
Буфер для получения сведений о квоте для тома. Сведения о квоте форматируются в виде одной или нескольких FILE_QUOTA_INFORMATION структур. Поле NextEntryOffset в структуре FILE_QUOTA_INFORMATION содержит смещение в байтах следующей записи квоты в списке. Если после текущей записи больше нет, этот элемент равен нулю.
[in] Length
Длина буфера в байтах.
[in] ReturnSingleEntry
Логическое значение, указывающее, следует ли возвращать только одну запись, а не заполнять буфер максимально возможным количеством записей.
[in, optional] SidList
Необязательный список идентификаторов безопасности, для которых необходимо вернуть сведения о квоте. Каждая запись в списке представляет собой FILE_GET_QUOTA_INFORMATION структуру. Поле NextEntryOffset в структуре FILE_GET_QUOTA_INFORMATION содержит смещение в байтах следующей записи квоты в списке. Если после текущей записи больше нет, этот элемент равен нулю.
[in] SidListLength
Длина в байтах списка SID , если он был указан.
[in, optional] StartSid
Необязательный указатель на идентификатор безопасности записи, с которого начинается сканирование сведений о квоте. Этот параметр следует задать, если возвращаемые сведения должны начинаться с записи, отличной от первого идентификатора безопасности. Этот параметр игнорируется, если указан параметр SidList .
[in] RestartScan
Логическое значение, указывающее, следует ли перезапустить сканирование сведений о квоте с самого начала. Задайте для этого параметра значение TRUE , если проверка сведений о квоте начинается с первой записи в списке сведений о квотах тома. Установите значение FALSE , если при возобновлении проверки из предыдущего вызова NtQueryQuotaInformationFile. Вызывающий объект должен задать для этого параметра значение TRUE при первом вызове NtQueryQuotaInformationFile .
Возвращаемое значение
Подпрограмма NtQueryQuotaInformationFile возвращает STATUS_SUCCESS, если в параметре Buffer возвращается хотя бы одна FILE_QUOTA_INFORMATION структура или соответствующее значение NTSTATUS, например одно из следующих значений:
Код возврата | Описание |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Недостаточно ресурсов для завершения операции. Это код ошибки. |
STATUS_INVALID_DEVICE_REQUEST | Квоты для тома не включены. Это код ошибки. |
STATUS_INVALID_SID | Параметр StartSid не содержит допустимый идентификатор безопасности. Это код ошибки. |
STATUS_QUOTA_LIST_INCONSISTENT | Параметр SidList не содержал допустимый правильно сформированный список. Это код ошибки. |
Комментарии
Объем сведений, возвращаемых NtQueryQuotaInformationFile , зависит от размера сведений о квоте, связанных с томом, размера буфера и того, был ли запрошен определенный набор записей.
Вызов NtQueryQuotaInformationFile приведет к отправке запроса IRP_MJ_SET_QUOTA объекту устройства, связанному с объектом файла, дескриптор которого хранится в параметре FileHandle .
Если базовая файловая система не поддерживает сведения о квоте (например, файловые системы FAT и CDFS), ntQueryQuotaInformationFile не сможет вернуть STATUS_INVALID_DEVICE_REQUEST.
Примечание
Если вызов функции NtQueryQuotaInformationFile происходит в режиме ядра, следует использовать имя "ZwQueryQuotaInformationFile" вместо "NtQueryQuotaInformationFile".
Для вызовов из драйверов режима ядра версии 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 |
См. также раздел
Использование версий Nt и Zw собственных процедур системных служб