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


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

подпрограмма ZwQueryQuotaInformationFile извлекает записи квоты, связанные с томом, указанным параметром FileHandle.

Синтаксис

NTSYSAPI NTSTATUS ZwQueryQuotaInformationFile(
  [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

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

[in] SidListLength

Длина в байтах списка идентификатора безопасности, если она была указана.

[in, optional] StartSid

Необязательный указатель на идентификатор безопасности записи, с которой начинается сканирование сведений о квоте. Этот параметр следует задать, если возвращаемые сведения должны начинаться с записи, отличной от первого идентификатора безопасности. Этот параметр игнорируется, если указан параметр SidList.

[in] RestartScan

Логическое значение, указывающее, следует ли перезапустить проверку сведений о квоте с самого начала. Задайте для этого параметра значение TRUE, если проверка сведений о квоте начинается с первой записи в списке сведений о квотах тома. Установите значение FALSE, если повторная проверка от предыдущего вызова ZwQueryQuotaInformationFile. Вызывающий параметр должен задать значение TRUE при первом вызове ZwQueryQuotaInformationFile.

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

Подпрограмм а ZwQueryQuotaInformationFile возвращает STATUS_SUCCESS, если в параметре буфера возвращается по крайней мере одна FILE_QUOTA_INFORMATION структура или соответствующее значение NTSTATUS, например одно из следующих:

Возвращаемый код Описание
STATUS_INSUFFICIENT_RESOURCES Для завершения операции недостаточно ресурсов. Это код ошибки.
STATUS_INVALID_DEVICE_REQUEST Квоты не включены в томе. Это код ошибки.
STATUS_INVALID_SID Параметр StartSid не содержал допустимый sid. Это код ошибки.
STATUS_QUOTA_LIST_INCONSISTENT Параметр SidList не содержал допустимый, правильно сформированный список. Это код ошибки.

Замечания

Объем информации, возвращаемой ZwQueryQuotaInformationFile, зависит от размера сведений о квоте, связанных с томом, размера буфера и запроса определенного набора записей.

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

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

Заметка

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

Для вызовов драйверов в режиме ядра 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

ZwSetQuotaInformationFile