winioctl.h) (REQUEST_OPLOCK_INPUT_BUFFER 结构

包含请求操作锁定 (oplock) 或使用 FSCTL_REQUEST_OPLOCK 控制代码确认 oplock 中断所需的信息。

语法

typedef struct _REQUEST_OPLOCK_INPUT_BUFFER {
  WORD  StructureVersion;
  WORD  StructureLength;
  DWORD RequestedOplockLevel;
  DWORD Flags;
} REQUEST_OPLOCK_INPUT_BUFFER, *PREQUEST_OPLOCK_INPUT_BUFFER;

成员

StructureVersion

正在使用 的REQUEST_OPLOCK_INPUT_BUFFER 结构的版本。 将此成员设置为 REQUEST_OPLOCK_CURRENT_VERSION

StructureLength

此结构的长度(以字节为单位)。 必须设置为 sizeof(REQUEST_OPLOCK_INPUT_BUFFER)

RequestedOplockLevel

以下 oplock 级别值的有效组合。

含义
OPLOCK_LEVEL_CACHE_READ
允许客户端缓存读取。 可以授予多个客户端。
OPLOCK_LEVEL_CACHE_HANDLE
允许客户端缓存打开的句柄。 可以授予多个客户端。
OPLOCK_LEVEL_CACHE_WRITE
允许客户端缓存写入和字节范围锁。 只能授予单个客户端。
 

这些值的有效组合如下所示:

  • OPLOCK_LEVEL_CACHE_READ
  • OPLOCK_LEVEL_CACHE_READ | OPLOCK_LEVEL_CACHE_HANDLE
  • OPLOCK_LEVEL_CACHE_READ | OPLOCK_LEVEL_CACHE_WRITE
  • OPLOCK_LEVEL_CACHE_READ | OPLOCK_LEVEL_CACHE_WRITE | OPLOCK_LEVEL_CACHE_HANDLE
有关这些值组合的详细信息,请参阅 FSCTL_REQUEST_OPLOCK

Flags

以下请求标志值的有效组合。

含义
REQUEST_OPLOCK_INPUT_FLAG_REQUEST
请求新的 oplock。 将此标志与 REQUEST_OPLOCK_INPUT_FLAG_ACK 一起设置无效,将导致请求失败并 出现ERROR_INVALID_PARAMETER
REQUEST_OPLOCK_INPUT_FLAG_ACK
确认 oplock 中断。 将此标志与 REQUEST_OPLOCK_ INPUT_FLAG_REQUEST 一起设置无效,将导致请求失败 并出现ERROR_INVALID_PARAMETER

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅

FSCTL_REQUEST_OPLOCK

REQUEST_OPLOCK_OUTPUT_BUFFER