다음을 통해 공유


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 요청이 읽기로 중단됩니다.

    • 읽기-쓰기-핸들 요청이 읽기-쓰기로 중단됩니다.

  • 작업이 계속되기 전에 승인을 받아야 합니다.