다음을 통해 공유


PCOMPLETE_LOCK_IRP_ROUTINE 콜백 함수(ntifs.h)

파일 시스템 필터 드라이버(레거시 필터)는 PCOMPLETE_LOCK_IRP_ROUTINE형식의 루틴을 필터의 CompleteLockIrpRoutine 콜백으로 등록할 수 있습니다.

통사론

PCOMPLETE_LOCK_IRP_ROUTINE PcompleteLockIrpRoutine;

NTSTATUS PcompleteLockIrpRoutine(
  PVOID Context,
  PIRP Irp
)
{...}

매개 변수

Context

[in] FsRtlProcessFileLock전달된 컨텍스트 포인터입니다.

Irp

[in] 완료 중인 파일 잠금 IRP_MJ_LOCK_CONTROL 요청에 대한 IRP입니다. 잠금 요청 유형은 다음 중 하나입니다.

  • IRP_MN_LOCK
  • IRP_MN_UNLOCK_ALL
  • IRP_MN_UNLOCK_ALL_BY_KEY
  • IRP_MN_UNLOCK_SINGLE

반환 값

이 루틴은 STATUS_SUCCESS 또는 적절한 NTSTATUS 값을 반환합니다. 성공 코드가 아닌 NTSTATUS 값을 반환하면 파일 잠금이 파일에서 제거됩니다.

발언

파일 시스템 필터 드라이버(레거시 필터)는 선택적으로 PCOMPLETE_LOCK_IRP_ROUTINE 형식의 루틴을 바이트 범위 파일 잠금에 대한 레거시 필터의 CompleteLockIrpRoutine 루틴으로 지정할 수 있습니다.

이 루틴을 지정하기 위해 레거시 필터는 FsRtlAllocateFileLock 또는 FsRtlInitializeFileLock대한 CompleteLockIrpRoutine 매개 변수로 루틴에 대한 포인터를 전달합니다.

레거시 필터가 파일 잠금에 대한 CompleteLockIrpRoutine 루틴을 지정하는 경우 시스템은 파일 잠금에 대한 IRP_MJ_LOCK_CONTROL 작업을 완료할 때 이 루틴을 호출합니다.

요구 사항

요구
헤더 ntifs.h
IRQL APC_LEVEL

참고 항목

FsRtlAllocateFileLock

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFreeFileLock

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PUNLOCK_ROUTINE