次の方法で共有


FsRtlGetFileSize 関数 (ntifs.h)

FsRtlGetFileSize ルーチンは、ファイルのサイズを取得するために使用されます。

構文

NTSTATUS FsRtlGetFileSize(
  [in]  PFILE_OBJECT   FileObject,
  [out] PLARGE_INTEGER FileSize
);

パラメーター

[in] FileObject

クエリを実行するファイル オブジェクトへのポインター。

[out] FileSize

出力時にファイル サイズを受け取る大きな整数へのポインター。

戻り値

FsRtlGetFileSize は、操作の最終的な完了状態を表すSTATUS_SUCCESSまたは適切なエラー状態を返します。 考えられるエラー状態コードは次のとおりです。

リターン コード 形容
STATUS_INSUFFICIENT_RESOURCES
この関数で使用するために必要なメモリを割り当てませんでした。
STATUS_FILE_IS_A_DIRECTORY
指定した FileObject はディレクトリを参照します。

備考

FsRtlGetFileSize ルーチンは、ファイルのファイル サイズを取得するために使用されます。 ZwQueryInformationFileとは異なり、FsRtlGetFileSize は同期ファイル オブジェクトのファイル オブジェクト ロックを取得しません。 既にファイル システム リソースを所有している場合は、ZwQueryInformationFile ではなく fsRtlGetFileSize を呼び出す必要があります。これは、ファイル オブジェクトのロックを取得しようとするとロック順序に違反し、デッドロックが発生するためです。 ZwQueryInformationFile 関数は、ファイル システム リソースをまだ所有していない場合にのみ指定する必要があります。

FsRtlGetFileSize は、ファイル サイズを抽出するためにサポートされている場合、または通常の IRP ベースのクエリである場合に高速 I/O を使用します。

必要条件

要件 価値
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 を する HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

関連項目

FltQueryInformationFile の

ZwQueryInformationFile