NtSetQuotaInformationFile 함수(ntifs.h)
NtSetQuotaInformationFile 루틴은 FileHandle 매개 변수와 연결된 볼륨에 대한 할당량 항목을 변경합니다. 지정된 버퍼의 모든 할당량 항목이 볼륨에 적용됩니다.
구문
__kernel_entry NTSYSCALLAPI NTSTATUS NtSetQuotaInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PVOID Buffer,
[in] ULONG Length
);
매개 변수
[in] FileHandle
할당량 정보를 수정할 파일 또는 볼륨을 나타내는 파일 개체에 대한 핸들입니다.
[out] IoStatusBlock
호출자의 I/O 상태 블록의 주소입니다.
[in] Buffer
볼륨에 적용해야 하는 새 할당량 항목을 포함하는 버퍼입니다. 할당량 정보는 하나 이상의 FILE_QUOTA_INFORMATION 구조체로 서식을 지정해야 합니다. FILE_QUOTA_INFORMATION 구조체의 NextEntryOffset 필드에는 목록에 있는 다음 할당량 항목의 오프셋(바이트)이 포함됩니다. 현재 항목 다음에 더 이상 항목이 없으면 이 멤버는 0입니다.
[in] Length
버퍼의 길이(바이트)입니다.
반환 값
NtSetQuotaInformationFile 루틴은 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_INSUFFICIENT_RESOURCES | 작업을 완료할 리소스가 부족했습니다. 오류 코드입니다. |
STATUS_INVALID_DEVICE_REQUEST | 할당량은 볼륨에서 사용하도록 설정되지 않습니다. 오류 코드입니다. |
STATUS_MEDIA_WRITE_PROTECTED | 볼륨은 읽기 전용입니다. 오류 코드입니다. |
설명
NtSetQuotaInformationFile 루틴은 지정된 Buffer 매개 변수의 모든 할당량 항목을 볼륨에 적용합니다.
IoCheckQuotaBufferValidity 함수는 Buffer 매개 변수로 전달된 지정된 할당량 버퍼가 유효한지 여부를 검사 수 있습니다.
NtSetQuotaInformationFile을 호출하면 fileHandle 매개 변수에 핸들이 저장된 파일 개체와 연결된 디바이스 개체로 IRP_MJ_SET_QUOTA 요청이 전송됩니다.
기본 파일 시스템에서 할당량 정보(예: FAT 및 CDFS 파일 시스템)를 지원하지 않는 경우 NtSetQuotaInformationFile 은 STATUS_INVALID_DEVICE_REQUEST 반환하지 못합니다.
참고
커널 모드에서 NtSetQuotaInformationFile 함수를 호출하는 경우 "NtSetQuotaInformationFile" 대신 "[ZwSetQuotaInformationFile](nf-ntifs-zwsetquotainformationfile.md")이라는 이름을 사용해야 합니다.
커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxx 및 ZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 NtXxx 버전과 ZwXxx 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 |
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h, FltKernel.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs, PowerIrpDDis |