다음을 통해 공유


IRP_MJ_SET_QUOTA 공용 구조체에 대한 FLT_PARAMETERS

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

구문

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

멤버

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

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

  • QuotaBuffer: 설정할 할당량 정보를 포함하는 호출자가 제공한 FILE_QUOTA_INFORMATION 구조화된 입력 버퍼에 대한 포인터입니다. 이 멤버는 선택 사항이며 MDL이 MdlAddress에 제공된 경우 NULL일 수 있습니다. 설명을 참조하세요.

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

설명

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

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

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

IRP_MJ_SET_QUOTA IRP 기반 작업입니다.

요구 사항

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

추가 정보

FILE_QUOTA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckQuotaBufferValidity

IRP_MJ_SET_QUOTA