FSCTL_REQUEST_BATCH_OPLOCK控制代码
FSCTL_REQUEST_BATCH_OPLOCK控制代码请求批处理机会锁, (文件上的 oplock) 。
为了处理此控制代码,微筛选器使用以下参数调用 FltOplockFsctrl 。 文件系统或旧版筛选器驱动程序调用 FsRtlOplockFsctrl。
有关机会锁定和FSCTL_REQUEST_BATCH_OPLOCK控制代码的详细信息,请参阅Microsoft Windows SDK文档。
参数
Oplock:文件的不透明不锁定对象指针。
CallbackData:仅限 FltOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求的回调数据 (FLT_CALLBACK_DATA) 结构。 操作 的 FsControlCode 参数必须FSCTL_REQUEST_BATCH_OPLOCK。
Irp:仅限 FsRtlOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求的 IRP。 操作 的 FsControlCode 参数必须FSCTL_REQUEST_BATCH_OPLOCK。
OpenCount:文件的用户句柄数。
状态块
如果已授予 oplock,则 FltOplockFsctrl 返回此操作的FLT_PREOP_PENDING。 否则,它将返回FLT_PREOP_COMPLETE。
FsRtlOplockFsctrl 为此操作返回以下 NTSTATUS 值之一:
代码 | 含义 |
---|---|
STATUS_PENDING | 已授予 oplock。 这是一个成功代码。 |
STATUS_CANCELLED | 在完成FSCTL_REQUEST_BATCH_OPLOCK操作之前,IRP 已取消。 这是错误代码。 |
STATUS_OPLOCK_NOT_GRANTED | 无法授予 oplock。 这是错误代码。 |
要求
要求类型 | 要求 |
---|---|
标头 | Ntifs.h (包括 Ntifs.h 或 Fltkernel.h) |
另请参阅
IRP_MJ_FILE_SYSTEM_CONTROL 的 FLT_PARAMETERS
FSCTL_OPBATCH_ACK_CLOSE_PENDING