共用方式為


FSCTL_REQUEST_OPLOCK_LEVEL_2控件程式代碼

FSCTL_REQUEST_OPLOCK_LEVEL_2控制程式代碼會要求檔案上層級 2 的商機鎖定 (oplock) 。

若要處理此控件程式代碼,迷你篩選會使用下列參數呼叫 FltOplockFsctrl 。 文件系統或舊版篩選驅動程式會呼叫 FsRtlOplockFsctrl

如需有關商機鎖定和FSCTL_REQUEST_OPLOCK_LEVEL_2控件程式代碼的詳細資訊,請參閱 Microsoft Windows SDK 檔。

參數

  • Oplock:檔案的不透明不透明鎖定對象指標。

  • CallbackData:僅限 FltOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 要求的回呼數據 (FLT_CALLBACK_DATA) 結構。 作業的 FsControlCode 參數必須FSCTL_REQUEST_OPLOCK_LEVEL_2。

  • Irp:僅限 FsRtlOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 要求的 IRP。 作業的 FsControlCode 參數必須FSCTL_REQUEST_OPLOCK_LEVEL_2。

  • OpenCount:指定檔案的鎖定狀態。 如果檔案上有位元組範圍鎖定,請將此參數設定為非零 ULONG 值,否則為零。

狀態區塊

如果授與 oplock,FltOplockFsctrl 會針對此作業傳回FLT_PREOP_PENDING。 否則會傳回FLT_PREOP_COMPLETE。

FsRtlOplockFsctrl 會針對此作業傳回下列其中一個 NTSTATUS 值:

程式碼 意義
STATUS_PENDING 已授與 oplock。 這是成功的程序代碼。
STATUS_CANCELLED IRP 在完成FSCTL_REQUEST_OPLOCK_LEVEL_2作業之前已取消。 這是錯誤碼。
STATUS_OPLOCK_NOT_GRANTED 無法授與 oplock。 這是錯誤碼。

規格需求

需求類型 需求
標頭 Ntifs.h (包括 Ntifs.hFltkernel.h)

另請參閱

FLT_CALLBACK_DATA

FLT_PARAMETERS

IRP_MJ_FILE_SYSTEM_CONTROL的FLT_PARAMETERS

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL