次の方法で共有


FltTagFileEx 関数 (fltkernel.h)

FltTagFileEx 、ファイルまたはディレクトリに再解析ポイントを設定します。

構文

NTSTATUS FLTAPI FltTagFileEx(
  PFLT_INSTANCE InitiatingInstance,
  PFILE_OBJECT  FileObject,
  ULONG         FileTag,
  GUID          *Guid,
  PVOID         DataBuffer,
  USHORT        DataBufferLength,
  ULONG         ExistingFileTag,
  GUID          *ExistingGuid,
  ULONG         Flags
);

パラメーター

InitiatingInstance

この I/O 要求を開始したミニフィルター ドライバー インスタンスへの不透明なポインター。 このパラメーターは必須であり、NULL することはできません。

FileObject

再解析ポイントを設定するファイルまたはディレクトリのファイル オブジェクトへのポインター。 FILE_WRITE_DATAアクセスするには、ファイル オブジェクトを開く必要があります。 このパラメーターは必須であり、NULL することはできません。

FileTag

ポイント タグを再解析します。 ntifs.hで定義されている IO_REPARSE_TAG_XXX 値のいずれかを指定できます。

Guid

再解析ポイントを一意に識別する GUID。 FileTag が Microsoft 以外のタグである場合、このパラメーターは必須であり、NULL することはできません。 既存の再解析タグが変更されている場合、このパラメーターで指定された GUID は、変更する再解析ポイントの GUID と一致する必要があります。

DataBuffer

再解析ポイントのユーザー定義データを含むバッファーへのポインター。

DataBufferLength

DataBuffer ポイント バッファーのサイズ (バイト単位)。

ExistingFileTag

タグを置き換える必要がある場合は、ファイルの既存のタグ。 このパラメーターは、まだ存在しないファイルに再解析タグを設定するには、0 に設定する必要があります。

ExistingGuid

既存の再解析ポイントを一意に識別する GUID。 ExistingFileTag が Microsoft 以外のタグで、0 以外の場合、このパラメーターは NULL することはできません。

Flags

ntifs.hで定義されているREPARSE_DATA_BUFFER_EX_XXX フラグを指定します。

戻り値

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

リターン コード 形容
STATUS_IO_REPARSE_TAG_MISMATCH ExistingFileTag で指定されたタグ値が、既存のタグ値と一致しません。
STATUS_REPARSE_ATTRIBUTE_CONFLICT Microsoft 以外のタグを持つ既存の再解析ポイントの場合、ExistingFileTag は既存のタグ値と一致しますが、Guid は既存の Guid と一致しません。

備考

ミニフィルター ドライバーでは、再解析ポイント 設定するために、FSCTL_SET_REPARSE_POINT_EXの代わりに FltTagFileEx を使用する必要があります。

すべてのファイル システムで再解析ポイントがサポートされているわけではありません。たとえば、NTFS ファイル システムと ReFS ファイル システムではサポートされていますが、FAT ファイル システムではサポートされません。 ミニフィルター ドライバーは、FltQueryVolumeInformation呼び出し、FsInformation パラメーターに FileFsAttributeInformation を指定し、返された FILE_FS_ATTRIBUTE_INFORMATION 構造体でFILE_SUPPORTS_REPARSE_POINTSビット フラグを調べることによって、ファイル システムが再解析ポイントをサポートしているかどうかを判断できます。

既存の再解析ポイントを削除するには、FltUntagFile呼び出します。

再解析ポイントの詳細については、Microsoft Windows SDK のドキュメントを参照してください。

必要条件

要件 価値
ヘッダー fltkernel.h

関連項目

FILE_FS_ATTRIBUTE_INFORMATION

FLT_TAG_DATA_BUFFER

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_SET_REPARSE_POINT

FltFsControlFile

FltQueryVolumeInformation

FltTagFileする

FltUntagFileする

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_GUID_DATA_BUFFER