REQUEST_OPLOCK_OUTPUT_BUFFER 结构 (winioctl.h)
包含 FSCTL_REQUEST_OPLOCK 控制代码返回的操作锁定 (oplock) 信息。
语法
typedef struct _REQUEST_OPLOCK_OUTPUT_BUFFER {
WORD StructureVersion;
WORD StructureLength;
DWORD OriginalOplockLevel;
DWORD NewOplockLevel;
DWORD Flags;
ACCESS_MASK AccessMode;
WORD ShareMode;
} REQUEST_OPLOCK_OUTPUT_BUFFER, *PREQUEST_OPLOCK_OUTPUT_BUFFER;
成员
StructureVersion
正在使用的 REQUEST_OPLOCK_OUTPUT_BUFFER 结构的版本。
StructureLength
此结构的长度(以字节为单位)。
OriginalOplockLevel
一个或多个 OPLOCK_LEVEL_CACHE_XXX 值,指示已中断的 oplock 的级别。
有关可能的值,请参阅 REQUEST_OPLOCK_INPUT_BUFFER 结构的 RequestedOplockLevel 成员。
NewOplockLevel
一个或多个 OPLOCK_LEVEL_CACHE_XXX 值,指示要破坏 oplock 的级别,或可用于授予的 oplock 级别,具体取决于返回此缓冲区的操作。
有关可能的值,请参阅 REQUEST_OPLOCK_INPUT_BUFFER 结构的 RequestedOplockLevel 成员。
Flags
一个或多个 REQUEST_OPLOCK_OUTPUT_FLAG_XXX 值。
AccessMode
如果设置了 REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED 标志,并且 OPLOCK_LEVEL_CACHE_HANDLE 级别在 oplock 中断中丢失,则 包含导致中断的请求的访问模式。
ShareMode
如果设置了 REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED 标志,并且 OPLOCK_LEVEL_CACHE_HANDLE 级别在 oplock 中断中丢失,则 包含导致中断的请求的共享模式。
注解
REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED标志指示 ShareMode 和 AccessMode 字段分别包含导致 oplock 中断的请求的共享和访问标志。 此信息可能会在 OPLOCK_LEVEL_CACHE_HANDLE 级别丢失的中断上提供,并且对于可以关闭其共享和访问模式与导致中断的句柄冲突的句柄的调用方可能很有用。 这可以使它们至少保持一些句柄缓存状态。 请注意,并非所有 丢失OPLOCK_LEVEL_CACHE_HANDLE 级别的中断都将设置此标志。 设置此标志的主要情况是,如果中断是创建操作的结果,该操作需要中断 OPLOCK_LEVEL_CACHE_HANDLE 操作,以避免 ERROR_SHARING_VIOLATION失败。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |