IRP_MJ_SET_INFORMATION 작업의 Oplock 상태 확인
oplock 상태를 검사 다음 IRP_MJ_SET_INFORMATION 작업입니다.
- FileEndOfFileInformation
- FileAllocationInformation
- FileValidDataLengthInformation
- FileRenameInformation
- FileShortNameInformation
- FileLinkInformation
- FileDispositionInformation
FileEndOfFileInformation, FileAllocationInformation 및 FileValidDataLengthInformation 작업에 대한 oplock 상태 확인
이 정보는 파일 또는 스트림에서 다음 작업을 수행할 때 적용됩니다.
호출자가 스트림의 논리적 크기를 변경하려고 시도합니다. 캐시 관리자의 지연 기록기 스레드가 파일의 새 끝을 설정하려고 하면 oplock 검사 만들어지지 않습니다. 이는 실제 쓰기 요청이 수신될 때 이전에 검사 수행되기 때문입니다.
호출자가 스트림의 할당된 크기를 변경하려고 시도합니다.
수준 2 요청 유형에 대한 조건
항상 없음으로 끊습니다.
승인이 필요하지 않습니다. 작업이 즉시 진행됩니다.
다른 모든 요청 유형에 대한 조건
oplock 키를 소유하는 FILE_OBJECT 키와 다른 oplock 키를 사용하여 FILE_OBJECT 작업이 발생할 때 IRP_MJ_SET_INFORMATION(FileEndOfFileInformation, FileAllocationInformation 및 FileValidDataLengthInformation의 경우) 중단합니다. oplock이 끊어지면 없음으로 끊습니다.
승인 요구 사항은 다음과 같이 다릅니다.
읽기 요청: 승인이 필요하지 않습니다. 작업이 즉시 진행됩니다.
Read-Handle 요청: 중단에 대한 승인이 필요하지만 작업이 즉시 계속됩니다(즉, 승인을 기다리지 않고).
수준 1, 일괄 처리, 필터, 읽기-쓰기 및 읽기-쓰기-핸들 요청: 작업을 계속하기 전에 승인을 받아야 합니다.
FileRenameInformation, FileShortNameInformation 및 FileLinkInformation 작업에 대한 oplock 상태 확인
이 정보는 파일 또는 스트림에서 다음 작업을 수행할 때 적용됩니다.
파일 또는 스트림의 이름이 변경되고 있습니다.
파일에 대한 짧은 이름이 설정되고 있습니다.
파일에 대한 하드 링크가 만들어지고 있습니다. 이는 새 하드 링크가 기존 링크를 다른 파일로 대체하고 대체되는 링크에 oplock이 있는 경우 oplock 상태에 영향을 줍니다.
oplock이 있는 스트림의 상위 디렉터리 이름이 변경되거나 상위 디렉터리의 짧은 이름이 설정됩니다.
수준 1, 수준 2, 읽기 및 Read-Write 작업에 대한 조건
oplock이 손상되지 않았습니다.
승인이 필요하지 않으며 작업이 즉시 진행됩니다.
Batch, 필터, 읽기-핸들 및 읽기-쓰기-핸들 작업에 대한 조건
oplock을 소유하는 FILE_OBJECT 키와 다른 oplock 키를 사용하여 FILE_OBJECT 작업이 발생하면 IRP_MJ_SET_INFORMATION(FileRenameInformation, FileShortNameInformation 및 FileLinkInformation의 경우)에서 중단합니다. oplock이 끊어진 경우:
일괄 처리 및 필터 요청이 없음으로 중단됩니다.
Read-Handle 요청이 읽기로 중단됩니다.
읽기-쓰기-핸들 요청이 읽기-쓰기로 중단됩니다.
작업이 계속되기 전에 승인을 받아야 합니다.
FileDispositionInformation 작업에 대한 oplock 상태 확인
이 정보는 호출자가 파일을 삭제하려고 할 때 적용됩니다.
oplock 키를 소유하는 FILE_OBJECT 키와 다른 oplock 키를 사용하여 FILE_OBJECT 작업이 발생하는 경우(FileDispositionInformation의 경우) IRP_MJ_SET_INFORMATION 중단하고 FILE_DISPOSITION_INFORMATION 경우중단합니다. DeleteFile은 TRUE**입니다. oplock이 끊어진 경우:
Read-Handle 요청이 읽기로 중단됩니다.
읽기-쓰기-핸들 요청이 읽기-쓰기로 중단됩니다.
작업이 계속되기 전에 승인을 받아야 합니다.