FltSetInformationFile 함수(fltkernel.h)
FltSetInformationFile 은 지정된 파일에 대한 정보를 설정합니다.
구문
NTSTATUS FLTAPI FltSetInformationFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass
);
매개 변수
[in] Instance
호출자에 대한 불투명 instance 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in] FileObject
파일에 대한 파일 개체 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in] FileInformation
파일에 대해 설정할 정보를 포함하는 호출자가 할당한 버퍼에 대한 포인터입니다. FileInformationClass 매개 변수는 정보 유형을 지정합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in] Length
FileInformation 버퍼의 크기(바이트)입니다.
[in] FileInformationClass
파일에 대해 설정할 정보의 형식을 지정합니다. 다음 값이 정의됩니다.
값 | 의미 |
---|---|
FileAllocationInformation | 파일에 대한 FILE_ALLOCATION_INFORMATION 설정합니다. |
FileBasicInformation | 파일에 대한 FILE_BASIC_INFORMATION 설정합니다. |
FileDispositionInformation | 파일에 대한 FILE_DISPOSITION_INFORMATION 설정합니다. |
FileEndOfFileInformation | 파일에 대한 FILE_END_OF_FILE_INFORMATION 설정합니다. |
FileLinkInformation | 파일에 대한 FILE_LINK_INFORMATION 설정합니다. |
FilePositionInformation | 파일에 대한 FILE_POSITION_INFORMATION 설정합니다. |
FileRenameInformation | 파일에 대한 FILE_RENAME_INFORMATION 설정합니다. 파일 이름 바꾸기에 대한 자세한 내용은 다음 설명 섹션을 참조하세요. |
FileValidDataLengthInformation | 파일에 대한 FILE_VALID_DATA_LENGTH_INFORMATION 설정합니다. |
반환 값
FltSetInformationFile은 STATUS_SUCCESS 또는 적절한 NTSTATUS 값을 반환합니다.
설명
미니필터 드라이버는 FltSetInformationFile 을 호출하여 지정된 파일에 대한 정보를 설정합니다. 파일이 현재 열려 있어야 합니다.
파일 이름 바꾸기 작업은 FltSetInformationFile에 전달된 매개 변수 값에 다음과 같은 제한을 적용합니다. FILE_RENAME_INFORMATION 대한 참조 항목에 설명된 대로 파일 또는 디렉터리의 이름은 볼륨 내에서만 바꿀 수 있습니다. 즉, 이름 바꾸기 작업으로 인해 파일 또는 디렉터리가 다른 볼륨으로 이동될 수 없습니다. ZwSetInformationFile과 달리 FltSetInformationFile은 FILE_RENAME_INFORMATION 구조체의 내용에 대한 유효성을 검사하지 않습니다. 따라서 FltSetInformationFile 의 호출자는 파일 또는 디렉터리의 새 이름이 이전 이름과 동일한 볼륨에 있는지 확인합니다.
미니필터 드라이버는 파일 이름을 바꾸려면 ZwSetInformationFile이 아닌 FltSetInformationFile을 사용해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |