共用方式為


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 值。

意義
REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED
指出需要通知, 而且 OriginalOplockLevel 中所述的 oplock 會繼續保持強制狀態,直到成功認可中斷為止。
REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED
指出 ShareModeAccessMode 成員分別包含造成 oplock 中斷之要求的共用和存取旗標。 如需詳細資訊,請參閱<備註>一節。

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旗標表示 ShareModeAccessMode 字段分別包含造成 oplock 中斷之要求的共用和存取旗標。 此資訊可能會在中斷 時提供,其中OPLOCK_LEVEL_CACHE_HANDLE 層級遺失,而且對於可關閉共用和存取模式與造成中斷之句柄衝突的呼叫端可能很有用。 這可能會讓它們至少維持一些句柄快取狀態。 請注意,並非所有中斷 OPLOCK_LEVEL_CACHE_HANDLE 層級都會設定此旗標。 將設定此旗標的主要案例是,如果中斷是建立作業的結果,該作業需要中斷OPLOCK_LEVEL_CACHE_HANDLE oplock 才能避免ERROR_SHARING_VIOLATION失敗。

規格需求

   
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
標頭 winioctl.h (包含 Windows.h)

另請參閱

FSCTL_REQUEST_OPLOCK

Oplock 語意

REQUEST_OPLOCK_INPUT_BUFFER