共用方式為


Oplock 同步處理

要求 獨佔機會鎖定 (oplock) 的過濾器和檔案系統必須將呼叫同步化至系統提供的 oplock 套件。 特別是,呼叫 oplock FSCTRL 常式 (以建立 oplock) ,必須與呼叫 oplock 檢查中斷常式同步處理。 這兩個常式組的清單包括:

處理 oplock 要求時,過濾器和檔案系統必須確保下列事項:

  • 可能中斷 oplock 的 I/O 無法與處理請求同時發生。
  • Oplock 要求不能與 oplock 中斷確認同時發生。

要求為相同檔案控制區塊 (FCB) 建立獨佔 oplock 的 IRP 呼叫如下:

  • 在 Create.Options 中 有 FILE_OPEN_REQUIRING_OPLOCK 位設定的 IRP_MJ_CREATE
  • IRP_MJ_FILE_SYSTEM_CONTROL 帶有 oplock 控件

以下是一些有關Oplock同步的範例:

  • 處理 oplock 要求時,檔案系統會獨佔取得某些資源、呼叫 FsRtlOplockFsctrlEx,並釋放資源。

  • 處理 oplock 岔斷通知時,檔案系統會取得共用的相同資源、呼叫 FsRtlOplockFsctrlEx,並釋放資源。

  • 執行 I/O 時,檔案系統會取得共用的相同資源、呼叫 FsRtlCheckOplockEx2、執行 I/O,然後釋放資源。

    上層檔案系統應該確保它們以類似的方式在 FsRtlCheckUpperOplockFsRtlUpperOplockFsctrl 的呼叫之間同步處理。