次の方法で共有


FltCompareInstanceAltitudes 関数 (fltkernel.h)

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

構文

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

パラメーター

[in] Instance1

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

[in] Instance2

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

戻り値

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

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

備考

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

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

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

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

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

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

必要条件

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

関連項目

FltAttachVolume する

FltAttachVolumeAtAltitude する

FltCompareInstanceAltitudes

FltDetachVolume