다음을 통해 공유


FltTagFile 함수(fltkernel.h)

FltTagFile 파일 또는 디렉터리에 재구문 태그를 설정합니다.

통사론

NTSTATUS FLTAPI FltTagFile(
  [in]           PFLT_INSTANCE InitiatingInstance,
  [in]           PFILE_OBJECT  FileObject,
  [in]           ULONG         FileTag,
  [in, optional] GUID          *Guid,
  [in]           PVOID         DataBuffer,
  [in]           USHORT        DataBufferLength
);

매개 변수

[in] InitiatingInstance

이 I/O 요청을 시작한 미니 필터 드라이버 인스턴스에 대한 불투명 인스턴스 포인터입니다. 이 매개 변수는 필수이며 NULL 수 없습니다.

[in] FileObject

재 분석 지점을 설정할 파일 또는 디렉터리에 대한 파일 개체에 대한 포인터입니다. FILE_WRITE_DATA 액세스하려면 파일 개체를 열어야 합니다. 이 매개 변수는 필수이며 NULL 수 없습니다.

[in] FileTag

재구문 분석 지점 태그입니다. 기존 재구문 태그가 수정되는 경우 이 매개 변수에 지정된 태그는 수정할 재구매 지점의 태그와 일치해야 합니다.

[in, optional] Guid

재 분석 지점의 형식을 고유하게 식별하는 GUID입니다. FileTag Microsoft 태그가 아니면 이 매개 변수가 필요하며 NULL 수 없습니다. 기존 재구문 태그가 수정되는 경우 이 매개 변수에 지정된 GUID는 수정할 재구매 지점의 GUID와 일치해야 합니다.

[in] DataBuffer

재 분석 지점에 대한 사용자 정의 데이터가 포함된 버퍼에 대한 포인터입니다.

[in] DataBufferLength

DataBuffer가 가리키는 버퍼의 크기(바이트)입니다.

반환 값

FltTagFile STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 묘사
STATUS_INSUFFICIENT_RESOURCES
FltTagFileEx 풀 할당 오류가 발생했습니다. 오류 코드입니다.
STATUS_INVALID_DEVICE_REQUEST
파일 시스템은 재조사 지점을 지원하지 않습니다. 오류 코드입니다.
STATUS_INVALID_PARAMETER
FileTag Microsoft 태그가 아니며 NULLGuid지정되었습니다. 오류 코드입니다.
STATUS_IO_REPARSE_TAG_MISMATCH
호출자가 지정한 재구매 태그가 수정할 재구매 지점의 태그와 일치하지 않습니다. 오류 코드입니다.
STATUS_REPARSE_ATTRIBUTE_CONFLICT
호출자가 지정한 재문 분석 GUID가 수정할 재문 분석 지점의 GUID와 일치하지 않습니다. 오류 코드입니다.

발언

미니 필터 드라이버는 재구매 지점을 설정하기 위해 FSCTL_SET_REPARSE_POINT 대신 FltTagFile 사용해야 합니다.

모든 파일 시스템에서 재 분석 지점을 지원하는 것은 아닙니다. NTFS 파일 시스템에서 지원합니다. FAT 파일 시스템은 그렇지 않습니다. 미니 필터 드라이버는 FltQueryVolumeInformation호출하고, FsInformation 매개 변수에 FileFsAttributeInformation을 지정하고, 반환된 FILE_FS_ATTRIBUTE_INFORMATION 구조에서 FILE_SUPPORTS_REPARSE_POINTS 비트 플래그를 검사하여 파일 시스템에서 재분석 지점을 지원하는지 여부를 확인할 수 있습니다.

기존 재구문 지점을 제거하려면 FltUntagFile호출합니다.

재문 분석 지점에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.

요구 사항

요구
대상 플랫폼 보편적
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

참고 항목

FILE_FS_ATTRIBUTE_INFORMATION

FLT_TAG_DATA_BUFFER

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_SET_REPARSE_POINT

fltFsControlFile

FltQueryVolumeInformation

FltTagFileEx

fltUntagFile

IsReparseTagMicrosoft

isReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_GUID_DATA_BUFFER