다음을 통해 공유


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로 설정됩니다. AdvanceOnlyFALSE이면 EndOfFile 멤버의 새 파일 크기가 설정되고 현재 파일 크기보다 크거나 작을 수 있습니다.

요구 사항

요구 사항 유형 요구 사항
헤더 Fltkernel.h ( Fltkernel.h 포함)

추가 정보

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IRP_MJ_SET_INFORMATION