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 타사 태그인 경우 이 매개 변수가 필요하며 NULL 수 없습니다. 기존 재구문 태그가 수정되는 경우 이 매개 변수에 지정된 GUID는 수정할 재구매 지점의 GUID와 일치해야 합니다.
DataBuffer
재 분석 지점에 대한 사용자 정의 데이터가 포함된 버퍼에 대한 포인터입니다.
DataBufferLength
DataBuffer를 버퍼의 크기(바이트)입니다.
ExistingFileTag
태그를 바꿔야 하는 경우 파일의 기존 태그입니다. 이 매개 변수를 0으로 설정하여 아직 없는 파일에 재구문 태그를 설정해야 합니다.
ExistingGuid
기존 재 분석 지점을 고유하게 식별하는 GUID입니다. ExistingFileTag 타사 태그이고 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 |