FsRtlGetFileSize 函数 (ntifs.h)
FsRtlGetFileSize 例程用于获取文件的大小。
语法
NTSTATUS FsRtlGetFileSize(
[in] PFILE_OBJECT FileObject,
[out] PLARGE_INTEGER FileSize
);
参数
[in] FileObject
指向要查询的文件对象的指针。
[out] FileSize
指向在输出上接收文件大小的大型整数的指针。
返回值
FsRtlGetFileSize 返回STATUS_SUCCESS或表示操作最终完成状态的相应错误状态。 可能的错误状态代码包括:
返回代码 | 描述 |
---|---|
|
无法分配此函数使用的内存。 |
|
指定的 FileObject 引用目录。 |
言论
FsRtlGetFileSize 例程用于检索文件的文件大小。 与 ZwQueryInformationFile不同,FsRtlGetFileSize 不会获取同步文件对象上的文件对象锁。 如果已有文件系统资源,则应调用 FsRtlGetFileSize 而不是 ZwQueryInformationFile,因为尝试获取文件对象锁会违反锁定顺序并导致死锁。 仅当尚未拥有文件系统资源时才应 ZwQueryInformationFile 函数。
FsRtlGetFileSize 如果支持或基于 IRP 的常规查询提取文件大小,将使用快速 I/O。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | ntifs.h (include Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDIS(storport),PowerIrpDDis(wdm) |