다음을 통해 공유


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

호출자의 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 목록의 길이(지정된 경우)입니다.

[in, optional] StartSid

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

[in] RestartScan

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

반환 값

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

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

발언

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

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

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

메모

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

커널 모드 드라이버의 호출의 경우 NtXxxZwXxx 버전의 Windows Native System Services 루틴은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. NtXxx ZwXxx 루틴 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴Nt 및 Zw 버전 사용 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 7
대상 플랫폼 보편적
헤더 ntifs.h(Ntifs.h, FltKernel.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs, PowerIrpDDis

참고 항목

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

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

**NtSetQuotaInformationFile **