Функция 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 для извлечения размера файла.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по