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 のレベルを示す 1 つ以上の OPLOCK_LEVEL_CACHE_XXX 値。

指定できる値については、REQUEST_OPLOCK_INPUT_BUFFER構造体の RequestedOplockLevel メンバーを参照してください。

NewOplockLevel

このバッファーを返す操作に応じて、oplock が壊れているレベルを示す 1 つ以上の OPLOCK_LEVEL_CACHE_XXX 値、または許可に使用できる oplock レベル。

指定できる値については、REQUEST_OPLOCK_INPUT_BUFFER構造体の RequestedOplockLevel メンバーを参照してください。

Flags

1 つ以上 のREQUEST_OPLOCK_OUTPUT_FLAG_XXX 値。

意味
REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED
受信確認が必要であり、 OriginalOplockLevel で説明されている oplock は、中断が正常に確認されるまで引き続き有効です。
REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED
ShareMode メンバーと AccessMode メンバーに、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 フラグは、ShareMode フィールドと AccessMode フィールドに、それぞれ、oplock の中断の原因となった要求の共有フラグとアクセス フラグが含まれていることを示します。 この情報は、 OPLOCK_LEVEL_CACHE_HANDLE レベルが失われている休憩時に提供される場合があり、共有モードとアクセス モードが中断の原因となっているハンドルと競合するハンドルを閉じることができる呼び出し元に役立つ場合があります。 これにより、少なくとも何らかのハンドル キャッシュ状態を維持できる場合があります。 OPLOCK_LEVEL_CACHE_HANDLE レベルが失われているすべての中断で、このフラグが設定されるわけではないことに注意してください。 このフラグが設定される主なケースは、ERROR_SHARING_VIOLATIONで失敗しないようにOPLOCK_LEVEL_CACHE_HANDLE oplock を解除する必要がある作成操作の結果である場合です。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
Header winioctl.h (Windows.h を含む)

こちらもご覧ください

FSCTL_REQUEST_OPLOCK

Oplock セマンティクス

REQUEST_OPLOCK_INPUT_BUFFER