次の方法で共有


FltGetVolumeFromInstance 関数 (fltkernel.h)

FltGetVolumeFromInstance ルーチンは、特定のミニフィルター ドライバー インスタンスがアタッチされているボリュームの不透明なポインターを返します。

構文

NTSTATUS FLTAPI FltGetVolumeFromInstance(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_VOLUME   *RetVolume
);

パラメーター

[in] Instance

インスタンスの不透明なインスタンス ポインター。

[out] RetVolume

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

戻り値

FltGetVolumeFromInstance は、次のようなSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_FLT_DELETING_OBJECT
ミニフィルター ドライバー インスタンスがアタッチされているボリュームが破棄されています。 これはエラー コードです。

注釈

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

特定のインスタンスを作成したミニフィルター ドライバーの不透明なフィルター ポインターを取得するには、 FltGetFilterFromInstance を呼び出します。

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

特定のインスタンスがアタッチされているボリュームに関する詳細情報を取得するには、 FltQueryVolumeInformation を呼び出します。

要件

要件
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
[DLL] Fltmgr.sys
IRQL <= APC_LEVEL

こちらもご覧ください

FltGetDeviceObject

FltGetFilterFromInstance

FltObjectDereference

FltQueryVolumeInformation