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 루틴은 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" 이름을 사용해야 합니다.
커널 모드 드라이버의 호출의 경우 NtXxx 및 ZwXxx 버전의 Windows Native System Services 루틴은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 |
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h, FltKernel.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
PASSIVE_LEVEL |
DDI 규정 준수 규칙 |
HwStorPortProhibitedDDIs, PowerIrpDDis |
참고 항목
네이티브 시스템 서비스 루틴 Nt 및 Zw 버전 사용