Share via


IRP_MJ_SET_EA 공용 구조체에 대한 FLT_PARAMETERS

연산에 대한 FLT_IO_PARAMETER_BLOCK 구조체의 MajorFunction 필드가 IRP_MJ_SET_EA 때 사용되는 공용 구조체 구성 요소입니다.

구문

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG Length;
    PVOID EaBuffer;
    PMDL  MdlAddress;
  } SetEa;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

멤버

  • SetEa: 다음 멤버를 포함하는 구조체입니다.

  • 길이: EaBuffer 가 가리키는 버퍼의 길이(바이트)입니다.

  • EaBuffer: 설정할 EA(확장 특성) 값을 포함하는 호출자가 제공하는 FILE_FULL_EA_INFORMATION 구조화된 입력 버퍼에 대한 포인터입니다. 이 멤버는 선택 사항이며 MDL이 MdlAddress에 제공된 경우 NULL일 수 있습니다. 설명을 참조하세요.

  • MdlAddress: EaBuffer 가 가리키는 버퍼를 설명하는 MDL(메모리 설명자 목록)의 주소입니다. 이 멤버는 선택 사항이며 EaBuffer에 버퍼가 제공된 경우 NULL일 수 있습니다. 설명을 참조하세요.

설명

IRP_MJ_SET_EA 작업에 대한 FLT_PARAMETERS 구조에는 콜백 데이터(FLT_CALLBACK_DATA) 구조로 표시되는 set-extended-attributes-information-operation에 대한 매개 변수가 포함됩니다. FLT_IO_PARAMETER_BLOCK 구조체에 포함되어 있습니다.

EaBufferMdlAddress 버퍼가 모두 제공되는 경우 미니필터가 MDL을 사용하는 것이 좋습니다. EaBuffer가 가리키는 메모리는 호출 프로세스의 컨텍스트 내에서 액세스되는 사용자 모드 주소이거나 커널 모드 주소인 경우 유효합니다.

미니필터가 MdlAddress 값을 변경한 경우 작업 후 콜백 후 필터 관리자는 현재 MdlAddress 에 저장된 MDL을 해제하고 이전 MdlAddress 값을 복원합니다.

IRP_MJ_SET_EA IRP 기반 작업입니다.

요구 사항

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

추가 정보

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckEaBufferValidity

IRP_MJ_SET_EA