FltAttachVolume 関数 (fltkernel.h)
FltAttachVolume 、新しいミニフィルター ドライバー インスタンスを作成し、指定されたボリュームにアタッチします。
構文
NTSTATUS FLTAPI FltAttachVolume(
[in, out] PFLT_FILTER Filter,
[in, out] PFLT_VOLUME Volume,
[in, optional] PCUNICODE_STRING InstanceName,
[out] PFLT_INSTANCE *RetInstance
);
パラメーター
[in, out] Filter
呼び出し元の不透明なフィルター ポインター。 このパラメーターは必須であり、NULL することはできません。
[in, out] Volume
ミニフィルター ドライバー インスタンスがアタッチされるボリュームの不透明なボリューム ポインター。 このパラメーターは必須であり、NULL することはできません。
[in, optional] InstanceName
新しいインスタンスのインスタンス名を含む UNICODE_STRING 構造体へのポインター。 このパラメーターは省略可能であり、NULL できます。 NULL 場合、FltAttachVolume は、ミニフィルター ドライバーの既定のインスタンス名をレジストリから読み取ろうとします。 (このパラメーターの詳細については、次の「解説」セクションを参照してください。
[out] RetInstance
新しく作成されたインスタンスの不透明なインスタンス ポインターを受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは省略可能であり、NULL できます。
戻り値
FltAttachVolume は、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
備考
呼び出し元が InstanceNameに対して非NULL 値を指定した場合、fltAttachVolume は、レジストリに格納されているミニフィルター ドライバーで指定されたインスタンス属性を HKLM\CurrentControlSet\Services\ServiceName\Instances\InstanceName に読み取ります。 ここで、serviceName はミニフィルター ドライバーのサービス名です。 このサービス名は、ミニフィルター ドライバーの INF ファイルの DefaultInstall.Services セクションで AddService ディレクティブで指定されます。 (フィルター ドライバー INF ファイルの詳細については、「ファイル システム フィルター ドライバーのインストール」を参照してください)。
呼び出し元が InstanceNameの値を指定しない場合、FltAttachVolume は、レジストリ パスの InstanceName 部分に対して、HKLM\CurrentControlSet\Services\ServiceName\Instances\DefaultInstance の下のレジストリに格納されている名前を使用します。
InstanceName パラメーターで指定されたインスタンス名は、システム全体で一意である必要があります。
FltAttachVolume は、*RetInstance内の新しいインスタンスの不透明なインスタンス ポインターを返します。 このポインター値は、ミニフィルター ドライバー インスタンスを一意に識別し、インスタンスがボリュームにアタッチされている限り一定のままになります。
FltAttachVolume 、*RetInstanceで返される不透明なインスタンス ポインターにランダウン参照を追加します。 このポインターが不要になったら、呼び出し元は FltObjectDereference 呼び出してポインターを解放する必要があります。 したがって、FltAttachVolume 正常に呼び出されるたびに、FltObjectDereference への後続の呼び出し照合する必要があります。
ミニフィルター ドライバー インスタンスを特定の高度のボリュームにアタッチするには、FltAttachVolumeAtAltitude 呼び出します。
同じボリュームに接続されている 2 つのミニフィルター ドライバー インスタンスの高度を比較するには、FltCompareInstanceAltitudes 呼び出。
ミニフィルター ドライバー インスタンスをボリュームからデタッチするには、FltDetachVolume 呼び出します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
IRQL | PASSIVE_LEVEL |
関連項目
FltAttachVolumeAtAltitude を する
FltCompareInstanceAltitudes の
FltDetachVolume の
FltGetVolumeInstanceFromName の
FltStartFiltering の