IRP_MJ_SET_INFORMATION 공용 구조체에 대한 FLT_PARAMETERS
연산에 대한 FLT_IO_PARAMETER_BLOCK 구조체의 MajorFunction 필드가 IRP_MJ_SET_INFORMATION 때 사용되는 공용 구조체 구성 요소입니다.
구문
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
PFILE_OBJECT ParentOfTarget;
union {
struct {
BOOLEAN ReplaceIfExists;
BOOLEAN AdvanceOnly;
};
ULONG ClusterCount;
HANDLE DeleteHandle;
};
PVOID InfoBuffer;
} SetFileInformation;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
멤버
SetFileInformation: 다음 멤버를 포함하는 구조체입니다.
길이: InfoBuffer의 버퍼 길이(바이트)입니다.
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 설정합니다. ParentOfTarget: 이름 바꾸기 또는 연결 작업의 경우 InfoBuffer-FileName>에 정규화된 파일 이름이 포함되어 있거나 InfoBuffer-RootDirectory>가 NULL이 아닌 경우 이 멤버는 작업의 대상인 파일의 부모 디렉터리에 대한 파일 개체 포인터입니다. 그렇지 않으면 NULL입니다.
( 명명되지 않은 구조체 )
다음 멤버를 포함하는 구조체입니다.ReplaceIfExists: 이름 바꾸기 또는 연결 작업의 경우. 이름이 같은 파일이 이미 있는 파일을 지정된 파일로 바꾸도록 지정하려면 TRUE 로 설정합니다. 지정된 이름의 파일이 이미 있는 경우 이름 바꾸기 또는 링크 작업이 실패하는 경우 FALSE 로 설정합니다.
AdvanceOnly: 파일 끝 작업에 대한 플래그입니다. 그러면 FileInformationClass == FileEndOfFileInformation일 때 EndOfFile 멤버 FILE_END_OF_FILE_INFORMATION 구조체의 사용이 결정됩니다. TRUE이면 현재 유효한 데이터 길이가 증가하는 경우에만 파일에 대한 새 유효한 데이터 길이가 EndOfFile에서 설정됩니다. FALSE이면 EndOfFile에서 새 파일 크기가 설정됩니다.
ClusterCount: 시스템 사용을 위해 예약되어 있습니다. 사용하지 마십시오.
DeleteHandle: 시스템 사용을 위해 예약되어 있습니다. 사용하지 마십시오.
InfoBuffer: 설정할 파일 정보를 포함하는 입력 버퍼에 대한 포인터입니다.
설명
IRP_MJ_SET_INFORMATION 작업에 대한 FLT_PARAMETERS 구조에는 콜백 데이터(FLT_CALLBACK_DATA) 구조체로 표시되는 set-information 작업에 대한 매개 변수가 포함됩니다. FLT_IO_PARAMETER_BLOCK 구조체에 포함되어 있습니다.
IRP_MJ_SET_INFORMATION IRP 기반 작업입니다.
AdvanceOnly 멤버는 캐시 관리자가 디스크의 현재 유효한 데이터 길이를 EndOfFile의 새 유효한 데이터 길이로 진행하도록 파일 시스템에 알리기 위해 TRUE로 설정됩니다. AdvanceOnly가 FALSE이면 EndOfFile 멤버의 새 파일 크기가 설정되고 현재 파일 크기보다 크거나 작을 수 있습니다.
요구 사항
요구 사항 유형 | 요구 사항 |
---|---|
헤더 | Fltkernel.h ( Fltkernel.h 포함) |