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 요청을 시작한 미니필터 드라이버 instance 대한 불투명 포인터입니다. 이 매개 변수는 필수이며 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 값을 반환합니다.

반환 코드 Description
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