FilterAttach 関数 (fltuser.h)

FilterAttach 関数は、指定されたボリュームに新しいミニフィルター インスタンスをアタッチします。

構文

HRESULT FilterAttach(
  [in]            LPCWSTR lpFilterName,
  [in]            LPCWSTR lpVolumeName,
  [in, optional]  LPCWSTR lpInstanceName,
  [in, optional]  DWORD   dwCreatedInstanceNameLength,
  [out, optional] LPWSTR  lpCreatedInstanceName
);

パラメーター

[in] lpFilterName

インスタンスを作成するミニフィルターの名前を含む null で終わるワイド文字列へのポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[in] lpVolumeName

新しく作成されたインスタンスがアタッチされるボリュームの名前を含む、null で終わるワイド文字列へのポインター。

lpVolumeName 入力文字列には、次のいずれかを指定できます。 末尾の円記号 (\) は省略可能です。

  • ドライブ文字 ("D:\" など)
  • "c:\mnt\edrive\" などのボリューム マウント ポイントへのパス
  • "\?" などの一意 のボリューム識別子 (ボリューム GUID 名とも呼ばれます)。\Volume{7603f260-142a-11d4-ac67-806d6172696f}\"
  • "\Device\HarddiskVolume1\" などの非永続デバイス 名 (ターゲット名 または NT デバイス名とも呼ばれます)
lpVolumeName パラメーターは必須であり、NULL にすることはできません。

[in, optional] lpInstanceName

新しいインスタンスのインスタンス名を含む null で終わるワイド文字列へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターが NULL の場合、 FltAttachVolume の「解説」セクションで説明されているように、新しいインスタンスはミニフィルターの既定のインスタンス名を受け取ります。

[in, optional] dwCreatedInstanceNameLength

lpCreatedInstanceName が指すバッファーの長さ (バイト単位)。 このパラメーターは省略可能であり、0 にすることができます。

[out, optional] lpCreatedInstanceName

インスタンスがボリュームに正常にアタッチされた場合に、新しいインスタンスのインスタンス名を受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 NULL でない場合、バッファーは、INSTANCE_NAME_MAX_CHARS文字と NULL ターミネータを保持するのに十分な大きさにする必要があります。

戻り値

成功した場合、FilterAttach はS_OKを返します。 それ以外の場合は、次のいずれかのエラー値を返します。

リターン コード 説明
ERROR_FLT_INSTANCE_ALTITUDE_COLLISION
インスタンスは、指定されたボリューム上のこの高度に既に存在します。
ERROR_FLT_INSTANCE_NAME_COLLISION
指定されたボリュームに、この名前のインスタンスが既に存在します。
ERROR_FILE_NOT_FOUND
lpInstanceName が NULL 以外の場合、lpInstanceName はレジストリに登録されているフィルター インスタンス名と一致しません。

注釈

FilterAttach は、 FltAttachVolume に相当する Win32 です。

lpInstanceName で指定されたインスタンス名は、システム全体で一意である必要があります。

特定の高度のボリュームにミニフィルター インスタンスをアタッチするには、 FilterAttachAtAltitude を呼び出します。

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

要件

要件 値
対象プラットフォーム ユニバーサル
Header fltuser.h (Fltuser.h を含む)
Library FltLib.lib
[DLL] FltLib.dll

こちらもご覧ください

FilterAttachAtAltitude

FilterDetach

FltAttachVolume