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

호출자의 I/O 상태 블록의 주소입니다.

[out] Buffer

볼륨에 대한 할당량 정보를 받을 버퍼입니다. 할당량 정보는 하나 이상의 FILE_QUOTA_INFORMATION 구조로 서식이 지정됩니다. FILE_QUOTA_INFORMATION 구조체의 NextEntryOffset 필드에는 목록에 있는 다음 할당량 항목의 오프셋(바이트)이 포함됩니다. 현재 항목 다음에 더 이상 항목이 없으면 이 멤버는 0입니다.

[in] Length

버퍼의 길이(바이트)입니다.

[in] ReturnSingleEntry

버퍼를 가능한 한 많은 항목으로 채우지 않고 단일 항목만 반환해야 하는지 여부를 나타내는 부울 값입니다.

[in, optional] SidList

할당량 정보를 반환할 SID의 선택적 목록입니다. 목록의 각 항목은 FILE_GET_QUOTA_INFORMATION 구조체입니다. FILE_GET_QUOTA_INFORMATION 구조체의 NextEntryOffset 필드에는 목록에 있는 다음 할당량 항목의 오프셋(바이트)이 포함됩니다. 현재 항목 다음에 더 이상 항목이 없으면 이 멤버는 0입니다.

[in] SidListLength

SID 목록을 지정한 경우 SID 목록의 길이(바이트)입니다.

[in, optional] StartSid

할당량 정보 검사를 시작할 항목의 SID 에 대한 선택적 포인터입니다. 반환된 정보가 첫 번째 SID 이외의 항목으로 시작하는 경우 이 매개 변수를 설정해야 합니다. SidList 매개 변수를 지정하면 이 매개 변수는 무시됩니다.

[in] RestartScan

할당량 정보의 검색을 처음부터 다시 시작할지 여부를 나타내는 부울 값입니다. 할당량 정보의 검색이 볼륨의 할당량 정보 목록의 첫 번째 항목에서 시작하는 경우 이 매개 변수를 TRUE 로 설정합니다. ZwQueryQuotaInformationFile에 대한 이전 호출에서 검사를 다시 시작하면 FALSE로 설정합니다. 호출자는 ZwQueryQuotaInformationFile을 처음 호출할 때 이 매개 변수를 TRUE로 설정해야 합니다.

반환 값

ZwQueryQuotaInformationFile 루틴은 Buffer 매개 변수 또는 다음 중 하나와 같은 적절한 NTSTATUS 값에 하나 이상의 FILE_QUOTA_INFORMATION 구조가 반환되는 경우 STATUS_SUCCESS 반환합니다.

반환 코드 설명
STATUS_INSUFFICIENT_RESOURCES 작업을 완료할 리소스가 부족했습니다. 오류 코드입니다.
STATUS_INVALID_DEVICE_REQUEST 할당량은 볼륨에서 사용하도록 설정되지 않습니다. 오류 코드입니다.
STATUS_INVALID_SID StartSid 매개 변수에 유효한 SID가 없습니다. 오류 코드입니다.
STATUS_QUOTA_LIST_INCONSISTENT SidList 매개 변수에 올바른 형식의 유효한 목록이 없습니다. 오류 코드입니다.

설명

ZwQueryQuotaInformationFile에서 반환되는 정보의 양은 볼륨과 연결된 할당량 정보의 크기, 버퍼 크기 및 특정 항목 집합이 요청되었는지 여부에 따라 달라집니다.

ZwQueryQuotaInformationFile을 호출하면 fileHandle 매개 변수에 핸들이 저장된 파일 개체와 연결된 디바이스 개체로 IRP_MJ_SET_QUOTA 요청이 전송됩니다.

기본 파일 시스템에서 할당량 정보(예: FAT 및 CDFS 파일 시스템)를 지원하지 않는 경우 ZwQueryQuotaInformationFile 은 STATUS_INVALID_DEVICE_REQUEST 반환하지 못합니다.

참고

ZwQueryQuotaInformationFile 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwQueryQuotaInformationFile" 대신 "NtQueryQuotaInformationFile" 이름을 사용해야 합니다.

커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxxZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 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)

추가 정보

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용

ZwSetQuotaInformationFile