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 태그가 아니며 NULLGuid지정되었습니다. 오류 코드입니다. |
|
호출자가 지정한 재구매 태그가 수정할 재구매 지점의 태그와 일치하지 않습니다. 오류 코드입니다. |
|
호출자가 지정한 재문 분석 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 |