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