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 は同期ファイル オブジェクトのファイル オブジェクト ロックを取得しません。 ファイル システム リソースを既に所有している場合は、ZwQueryInformationFile ではなく FsRtlGetFileSize を呼び出す必要があります。これは、ファイル オブジェクトロックを取得しようとするとロック順序に違反し、デッドロックが発生するためです。 ZwQueryInformationFile 関数は、ファイル システム リソースをまだ所有していない場合にのみ使用する必要があります。
FsRtlGetFileSize では、高速 I/O がサポートされている場合、または通常の IRP ベースのクエリを使用してファイル サイズを抽出します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |