다음을 통해 공유


FSCTL_REQUEST_FILTER_OPLOCK 제어 코드

FSCTL_REQUEST_FILTER_OPLOCK 제어 코드는 파일에서 필터 기회 잠금(oplock)을 요청합니다.

이 제어 코드를 처리하기 위해 미니필터는 다음 매개 변수를 사용하여 FltOplockFsctrl 을 호출합니다. 파일 시스템 또는 레거시 필터 드라이버는 FsRtlOplockFsctrl을 호출합니다.

기회 잠금 및 FSCTL_REQUEST_FILTER_OPLOCK 제어 코드에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.

매개 변수

  • Oplock: 파일에 대한 불투명 불투명 개체 포인터입니다.

  • CallbackData: FltOplockFsctrl 만 해당합니다. IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 요청에 대한 콜백 데이터(FLT_CALLBACK_DATA) 구조입니다. 작업에 대한 FsControlCode 매개 변수는 FSCTL_REQUEST_FILTER_OPLOCK 합니다.

  • Irp: FsRtlOplockFsctrl 만 해당합니다. IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 요청에 대한 IRP입니다. 작업에 대한 FsControlCode 매개 변수는 FSCTL_REQUEST_FILTER_OPLOCK 합니다.

  • OpenCount: 파일에 대한 사용자 핸들 수입니다.

상태 블록

Oplock이 부여된 경우 FltOplockFsctrl 은 이 작업에 대한 FLT_PREOP_PENDING 반환합니다. 그렇지 않으면 FLT_PREOP_COMPLETE 반환합니다.

FsRtlOplockFsctrl 은 이 작업에 대해 다음 NTSTATUS 값 중 하나를 반환합니다.

코드 의미
STATUS_PENDING oplock이 부여되었습니다. 성공 코드입니다.
STATUS_CANCELLED FSCTL_REQUEST_BATCH_OPLOCK 작업이 완료되기 전에 IRP가 취소되었습니다. 오류 코드입니다.
STATUS_OPLOCK_NOT_GRANTED oplock을 부여할 수 없습니다. 오류 코드입니다.

요구 사항

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

추가 정보

FLT_CALLBACK_DATA

FLT_PARAMETERS

IRP_MJ_FILE_SYSTEM_CONTROL 대한 FLT_PARAMETERS

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL