次の方法で共有


FltCompareInstanceAltitudes 関数 (fltkernel.h)

FltCompareInstanceAltitudes は 、2 つのミニフィルター ドライバー インスタンスの高度を比較します。

構文

LONG FLTAPI FltCompareInstanceAltitudes(
  [in] PFLT_INSTANCE Instance1,
  [in] PFLT_INSTANCE Instance2
);

パラメーター

[in] Instance1

最初のインスタンスへのポインター。

[in] Instance2

2 番目のインスタンスへのポインター。

戻り値

FltCompareInstanceAltitudes は、次のように比較の結果を示す符号付き値を返します。

リターン コード 説明
Zero
Instance1Instance2 と同じ高度でアタッチされます。 これは、 Instance1Instance2 が異なるボリュームにアタッチされている場合、または Instance1Instance2 が同じインスタンスへのポインターである場合にのみ発生します。
0 未満
Instance1 は、 Instance2 より低い高度でアタッチされます。
0 より大きい値
Instance1 は、 Instance2 よりも高い高度でアタッチされます。

注釈

Instance1Instance2 が指すミニフィルター ドライバー インスタンスは、同じミニフィルター ドライバーまたは異なるミニフィルター ドライバーのインスタンスにすることができます。 ただし、 FltCompareInstanceAltitudes によって返される結果が意味を持つ場合は、同じボリュームにアタッチする必要があります。

"高度" という用語は、ボリュームのミニフィルター ドライバー インスタンス スタック内でインスタンスが占有する (または占有する必要がある) 位置を指します。 高度が高いほど、インスタンスはスタック内の基本ファイル システムから遠くなります。 特定のボリュームの特定の高度にアタッチできるインスタンスは 1 つだけです。

高度は 高度文字列で指定されます。これは、0 から 9 までの 1 つ以上の 10 進数で構成されるカウントされた Unicode 文字列です。文字列には 1 つの小数点を含めることができます。 たとえば、"100.123456" と "03333" は有効な高度文字列です。

文字列 "03333" は、"100.123456" より高い高度を表します (先頭と末尾のゼロは無視されます)。つまり、高度が "03333" のインスタンスは、高度が "100.123456" のインスタンスよりもベース ファイル システムから遠くなります。 ただし、この比較は、両方のインスタンスが同じボリュームにアタッチされている場合にのみ意味があります。

ミニフィルター ドライバー インスタンスをボリュームにアタッチするには、 FltAttachVolume または FltAttachVolumeAtAltitude を呼び出します。

ミニフィルター ドライバー インスタンスをボリュームからデタッチするには、 FltDetachVolume を呼び出します。

要件

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

こちらもご覧ください

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltDetachVolume