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 값을 반환합니다.
| 반환 코드 | 설명 |
|---|---|
|
FltTagFileEx 에서 풀 할당 오류가 발생했습니다. 오류 코드입니다. |
|
파일 시스템은 재문 분석 지점을 지원하지 않습니다. 오류 코드입니다. |
|
FileTag는 Microsoft 태그가 아니며 Guid에 대해 NULL이 지정되었습니다. 오류 코드입니다. |
|
호출자가 지정한 재문 분석 태그가 수정할 재문 분석 지점의 태그와 일치하지 않습니다. 오류 코드입니다. |
|
호출자가 지정한 재문 분석 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 |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기