FSCTL_OPLOCK_BREAK_ACKNOWLEDGE控件程式代碼
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE控件程式代碼會回應獨佔 (層級 1、批次或篩選) 作業鎖定 (檔案上的 oplock) 已中斷的通知。
用戶端應用程式會傳送此控件程式代碼來指出它認可 oplock 中斷,而且,如果 oplock 是中斷至層級 2 的層級 1 oplock,則它確實想要層級 2 oplock。
若要處理此控件程式代碼,迷你篩選程式會使用下列參數呼叫 FltOplockFsctrl 。 文件系統或舊版篩選驅動程式會呼叫 FsRtlOplockFsctrl。
如需有關操作鎖定和FSCTL_OPLOCK_BREAK_ACKNOWLEDGE控件程式代碼的詳細資訊,請參閱 Microsoft Windows SDK 檔。
參數
Oplock:檔案的不透明鎖定對象指標。
CallbackData:僅限 FltOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 要求的回呼數據 (FLT_CALLBACK_DATA) 結構。 作業的 FsControlCode 參數必須FSCTL_OPLOCK_BREAK_ACKNOWLEDGE。
Irp:僅限 FsRtlOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 要求的 IRP。 作業的 FsControlCode 參數必須FSCTL_OPLOCK_BREAK_ACKNOWLEDGE。
OpenCount:未與這項作業搭配使用;設定為零。
狀態區塊
當層級 1 oplock 中斷至層級 2 時,FltOplockFsctrl 會傳回此作業的FLT_PREOP_PENDING,且已授與層級 2 oplock。 否則,它會傳回FLT_PREOP_COMPLETE。
FsRtlOplockFsctrl 會針對此作業傳回下列其中一個 NTSTATUS 值:
程式碼 | 意義 |
---|---|
STATUS_SUCCESS | 認可 oplock 中斷。 不會保留剩餘的 oplock。 |
STATUS_INVALID_OPLOCK_PROTOCOL | 此句柄未保留任何 oplock,或目前未進行 oplock 中斷。 這是錯誤碼。 |
STATUS_PENDING | 認可 oplock 中斷。 傳回時, FSCTL_OPLOCK_BREAK_ACKNOWLEDGE 控制程式代碼的傳送者會保留層級 2 oplock。 這是成功的程序代碼。 |
規格需求
需求類型 | 需求 |
---|---|
標頭 | Ntifs.h (包含 Ntifs.h 或 Fltkernel.h) |
另請參閱
IRP_MJ_FILE_SYSTEM_CONTROL的 FLT_PARAMETERS