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 的值必须大于零,并且必须位于 ULONG 边界上。
此外,IoCheckQuotaBufferValidity 检查配额缓冲区,以确保满足以下条件:
缓冲区必须与 ULONG 对齐。
传入 QuotaLength 中的长度与缓冲区的实际长度匹配。
实际缓冲区长度为非负。
若要有效,配额缓冲区必须满足所有这些条件。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 |
目标平台 | 普遍 |
标头 | ntifs.h (include Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |