FsRtlOplockBreakToNoneEx 함수(ntifs.h)
FsRtlOplockBreakToNoneEx 루틴은 oplock 키와 관계없이 모든 기회 잠금(oplock)을 즉시 중단합니다.
구문
NTSTATUS FsRtlOplockBreakToNoneEx(
[in, out] POPLOCK Oplock,
[in] PIRP Irp,
[in] ULONG Flags,
[in, optional] PVOID Context,
[in, optional] POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
[in, optional] POPLOCK_FS_PREPOST_IRP PostIrpRoutine
);
매개 변수
[in, out] Oplock
파일에 대한 불투명 불투명 포인터입니다. 이 포인터는 FsRtlInitializeOplock에 대한 이전 호출에 의해 초기화되어야 합니다.
[in] Irp
I/O 작업에 대한 IRP에 대한 포인터입니다.
[in] Flags
연결된 파일 I/O 작업에 대한 비트 마스크입니다. 파일 시스템 또는 필터 드라이버는 FsRtlOplockBreakToNoneEx의 동작을 지정하는 비트를 설정합니다. Flags 매개 변수에는 다음과 같은 옵션이 있습니다.
OPLOCK_FLAG_COMPLETE_IF_OPLOCKED(0x00000001)
oplock 중단을 발생시킨 작업을 차단하거나 보류하지 않고 oplock 중단을 진행할 수 있도록 지정합니다. 일반적으로 이 플래그는 Irp 매개 변수가 가리키는 IRP가 IRP_MJ_CREATE 작업을 선언하는 경우에만 사용됩니다.
[in, optional] Context
CompletionRoutine 및 PostIrpRoutine 매개 변수가 가리키는 콜백 루틴에 전달할 호출자 정의 컨텍스트 정보에 대한 포인터입니다.
[in, optional] CompletionRoutine
호출자가 제공한 콜백 루틴에 대한 포인터입니다. oplock 중단이 진행 중인 경우 중단이 완료되면 이 루틴이 호출됩니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. NULL인 경우 호출자는 oplock 중단이 완료될 때까지 대기 상태로 전환됩니다.
이 루틴은 다음과 같이 선언됩니다.
typedef VOID
(*POPLOCK_WAIT_COMPLETE_ROUTINE) (
IN PVOID Context,
IN PIRP Irp
);
이 루틴에는 다음과 같은 매개 변수가 있습니다.
Context
Context 매개 변수에서 FsRtlOplockBreakToNoneEx에 전달된 컨텍스트 정보 포인터입니다.
Irp
I/O 작업에 대한 IRP에 대한 포인터입니다.
[in, optional] PostIrpRoutine
I/O 작업이 보류될 경우 호출자가 제공한 콜백 루틴에 대한 포인터입니다. oplock 패키지가 IRP를 보류하기 전에 루틴이 호출됩니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
이 루틴은 다음과 같이 선언됩니다.
typedef VOID
(*POPLOCK_FS_PREPOST_IRP) (
IN PVOID Context,
IN PIRP Irp
);
Context
Context 매개 변수에서 FsRtlOplockBreakToNoneEx에 전달된 컨텍스트 정보 포인터입니다.
Irp
I/O 작업에 대한 IRP에 대한 포인터입니다.
반환 값
FsRtlOplockBreakToNoneEx 는 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 코드를 반환합니다.
반환 코드 | 설명 |
---|---|
|
IRP가 취소되었습니다. STATUS_CANCELLED 오류 코드입니다. |
|
oplock 중단이 진행 중입니다. 따라서 IRP가 보류되었습니다. STATUS_PENDING 성공 코드입니다. |
|
기회 잠금 중단(oplock)이 진행 중입니다. STATUS_OPLOCK_BREAK_IN_PROGRESS 호출자가 Flags 매개 변수에 OPLOCK_FLAG_COMPLETE_IF_OPLOCKED 설정되고 oplock이 손상되어야 하는 경우 FsRtlOplockBreakToNoneEx가 반환하는 성공 코드입니다. |
설명
기회 잠금에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
미니필터는 FsRtlOplockBreakToNoneEx 대신 FltOplockBreakToNoneEx를 호출해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | FsRtlOplockBreakToNoneEx 루틴은 Windows 7부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기