FSCTL_OPBATCH_ACK_CLOSE_PENDING控件程式代碼
FSCTL_OPBATCH_ACK_CLOSE_PENDING控件程式代碼會回應通知,指出檔案上的獨佔 (層級 1、批次或篩選) 不透明鎖定 (oplock) 已中斷。 用戶端應用程式會傳送此控制程序代碼,指出它認可了 oplock 中斷,而且即將關閉檔句柄。
對於批次或篩選 oplock 中斷,呼叫端必須在傳送此控制程式代碼之後關閉其檔句柄。 否則,系統會封鎖等候關閉檔句柄。
此控件程式代碼不適合用於層級 1 的 oplock。 不過,對於層級 1 的 oplock 中斷,系統會將此控件程式代碼視為中斷的完整通知,而且呼叫端不需要關閉檔句柄。
此控制件程式代碼很少使用。 當用戶端應用程式收到檔案的 oplock 中斷通知,並關閉檔案的句柄時,系統會將關閉的檔案句柄視為 oplock 中斷的完整通知。 因此,永遠不需要傳送此控件程序代碼。
若要處理此控件程式代碼,迷你篩選會使用下列參數呼叫 FltOplockFsctrl 。 文件系統或舊版篩選驅動程式會呼叫 FsRtlOplockFsctrl。
如需有關商機鎖定和FSCTL_OPBATCH_ACK_CLOSE_PENDING控件程式代碼的詳細資訊,請參閱 Microsoft Windows SDK 檔。
參數
Oplock:檔案的不透明不透明鎖定對象指標。
CallbackData:僅限 FltOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 要求的回呼數據 (FLT_CALLBACK_DATA) 結構。 作業的 FsControlCode 參數必須FSCTL_OPBATCH_ACK_CLOSE_PENDING。
Irp:僅限 FsRtlOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 要求的 IRP。 作業的 FsControlCode 參數必須FSCTL_OPBATCH_ACK_CLOSE_PENDING。
OpenCount:未與這項作業搭配使用;設定為零。
狀態區塊
FltOplockFsctrl 一律會針對此作業傳回FLT_PREOP_COMPLETE。
FsRtlOplockFsctrl 會針對此作業傳回下列其中一個 NTSTATUS 值:
程式碼 | 意義 |
---|---|
STATUS_SUCCESS | 這個句柄所持有的 oplock 正在中斷。 |
STATUS_INVALID_OPLOCK_PROTOCOL | 此句柄不會保留任何 oplock,或目前未進行 oplock 中斷。 這是錯誤碼。 |
規格需求
需求類型 | 需求 |
---|---|
標頭 | Ntifs.h (包括 Ntifs.h 或 Fltkernel.h) |
另請參閱
IRP_MJ_FILE_SYSTEM_CONTROL的FLT_PARAMETERS