IRP_MJ_QUERY_QUOTA 공용 구조체에 대한 FLT_PARAMETERS
작업에 대한 FLT_IO_PARAMETER_BLOCK 구조체의 MajorFunction 필드가 IRP_MJ_QUERY_QUOTA 때 사용되는 공용 구조체 구성 요소입니다.
구문
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
PSID StartSid;
PFILE_GET_QUOTA_INFORMATION SidList;
ULONG SidListLength;
PVOID QuotaBuffer;
PMLD MdlAddress;
} QueryQuota;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
멤버
QueryQuota: 다음 멤버를 포함하는 구조체입니다.
길이: QuotaBuffer 가 가리키는 버퍼의 길이(바이트)입니다.
StartSid: 할당량 목록 검사를 시작할 항목의 SID(보안 식별자)에 대한 선택적 포인터입니다. 이 매개 변수는 작업에 대한 FLT_IO_PARAMETER_BLOCK 구조에서 SL_INDEX_SPECIFIED 플래그가 설정되지 않았거나 SidList 가 없음 목록을 가리키는 경우 무시됩니다.
SidList: 할당량 정보를 쿼리할 SID를 지정하는 호출자 제공 FILE_GET_QUOTA_INFORMATION 구조화된 입력 버퍼에 대한 포인터입니다.
SidListLength: SidList 가 가리키는 버퍼의 길이(바이트)입니다.
QuotaBuffer: 할당량 정보를 반환할 호출자 제공 FILE_QUOTA_INFORMATION 구조화된 출력 버퍼에 대한 포인터입니다. 이 멤버는 선택 사항이며 MDL이 MdlAddress에 제공된 경우 NULL일 수 있습니다. 설명을 참조하세요.
MdlAddress: QuotaBuffer 가 가리키는 버퍼를 설명하는 MDL(메모리 설명자 목록)의 주소입니다. 이 멤버는 선택 사항이며 QuotaBuffer에 버퍼가 제공된 경우 NULL일 수 있습니다. 설명을 참조하세요.
설명
IRP_MJ_QUERY_QUOTA 작업에 대한 FLT_PARAMETERS 구조에는 콜백 데이터(FLT_CALLBACK_DATA) 구조로 표현되는 IRP 기반 쿼리 할당량 정보 작업에 대한 매개 변수가 포함됩니다. FLT_IO_PARAMETER_BLOCK 구조체에 포함되어 있습니다.
QuotaBuffer와 MdlAddress 버퍼가 모두 제공되는 경우 미니필터는 MDL을 사용하는 것이 좋습니다. QuotaBuffer가 가리키는 메모리는 호출 프로세스의 컨텍스트 내에서 액세스되는 사용자 모드 주소이거나 커널 모드 주소인 경우 유효합니다.
미니 필터가 MdlAddress의 값을 변경한 다음, 작업 후 콜백 후 필터 관리자는 현재 MdlAddress 에 저장된 MDL을 해제하고 MdlAddress의 이전 값을 복원합니다.
IRP_MJ_QUERY_QUOTA IRP 기반 작업입니다.
요구 사항
요구 사항 유형 | 요구 사항 |
---|---|
헤더 | Fltkernel.h ( Fltkernel.h 포함) |