IoCheckQuotaBufferValidity 함수(ntifs.h)

IoCheckQuotaBufferValidity 루틴은 지정된 할당량 버퍼가 유효한지 여부를 확인합니다.

구문

NTSTATUS IoCheckQuotaBufferValidity(
  [in]  PFILE_QUOTA_INFORMATION QuotaBuffer,
  [in]  ULONG                   QuotaLength,
  [out] PULONG                  ErrorOffset
);

매개 변수

[in] QuotaBuffer

검사할 할당량 항목을 포함하는 버퍼에 대한 포인터입니다.

[in] QuotaLength

QuotaBuffer의 길이(바이트)입니다.

[out] ErrorOffset

오류가 발견되면 할당량 버퍼에서 잘못된 항목의 오프셋을 받을 변수입니다. 이 변수는 오류가 발생하는 경우에만 유효합니다.

반환 값

할당량 버퍼가 유효한 경우 IoCheckQuotaBufferValidity는 STATUS_SUCCESS 반환합니다. 그렇지 않으면 할당량 버퍼가 ULONG에 맞지 않으면 STATUS_DATATYPE_MISALIGNMENT 반환합니다. 버퍼의 항목 오차를 비롯한 다른 모든 오류의 경우 IoCheckQuotaBufferValidity 는 STATUS_QUOTA_LIST_INCONSISTENT 반환합니다.

설명

IoCheckQuotaBufferValidity 는 지정된 할당량 버퍼의 각 FILE_QUOTA_INFORMATION 항목을 검사하여 다음 조건이 충족되는지 확인합니다.

  • 전체 항목은 버퍼 내에 있어야 합니다.
  • Sid 값은 SID(보안 식별자)여야 합니다.
  • SidLength 값은 Sid 값의 길이(바이트)를 일치시켜야 합니다.
  • 마지막을 제외한 모든 항목의 경우 NextEntryOffset 값은 0보다 커야 하며 ULONG 경계에 있어야 합니다.
또한 IoCheckQuotaBufferValidity 는 할당량 버퍼를 검사하여 다음 조건이 충족되는지 확인합니다.
  • 버퍼는 ULONG에 맞춰야 합니다.
  • QuotaLength에 전달된 길이는 버퍼의 실제 길이와 일치합니다.
  • 실제 버퍼 길이는 음수입니다.
유효하려면 할당량 버퍼가 이러한 모든 조건을 충족해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 이 루틴은 Microsoft Windows 2000 이상에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

참고 항목

FILE_QUOTA_INFORMATION

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA