次の方法で共有


FltGetVolumeFromFileObject 関数 (fltkernel.h)

FltGetVolumeFromFileObject ルーチンは、特定のファイル ストリームが存在するボリュームの不透明なポインターを返します。

構文

NTSTATUS FLTAPI FltGetVolumeFromFileObject(
  [in]  PFLT_FILTER  Filter,
  [in]  PFILE_OBJECT FileObject,
  [out] PFLT_VOLUME  *RetVolume
);

パラメーター

[in] Filter

呼び出し元の不透明なフィルター ポインター。 このパラメーターは必須であり、NULL することはできません。

[in] FileObject

ボリューム上に存在するファイル ストリームのファイル オブジェクト ポインター。

[out] RetVolume

ボリュームの不透明なポインターを受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは必須であり、NULL することはできません。

戻り値

FltGetVolumeFromFileObject 、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。

リターン コード 形容
STATUS_FLT_DELETING_OBJECT
ボリュームが切断されています。 これはエラー コードです。
STATUS_INVALID_PARAMETER
一致するボリュームが見つかりませんでした。 これはエラー コードです。

備考

FltGetVolumeFromFileObject RetVolume パラメーターで返される不透明なボリューム ポインターへのランダウン参照を追加します。 このポインターが不要になったら、呼び出し元は FltObjectDereference 呼び出してポインターを解放する必要があります。 したがって、FltGetVolumeFromFileObject 正常に呼び出されるたびに、FltObjectDereference への後続の呼び出し照合する必要があります。

特定のボリュームのデバイス オブジェクトへのポインターを取得するには、FltGetDeviceObject 呼び出します。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー fltkernel.h (Fltkernel.h を含む)
ライブラリ FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

関連項目

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference