次の方法で共有


FSCTL_REQUEST_BATCH_OPLOCK 制御コード

FSCTL_REQUEST_BATCH_OPLOCK 制御コードは、ファイルに対するバッチの便宜的ロック (oplock) を要求します。

この制御コードを処理するために、ミニフィルターが次のパラメーターを指定して FltOplockFsctrl を呼び出します。 ファイル システムまたはレガシ フィルター ドライバーによって FsRtlOplockFsctrl が呼び出されます。

便宜的ロックと FSCTL_REQUEST_BATCH_OPLOCK 制御コードの詳細については、Microsoft Windows SDK のドキュメントを参照してください。

パラメーター

  • Oplock: ファイルの不透明な 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: ファイルのユーザー ハンドルの数。

ステータスブロック

FltOplockFsctrl は、oplock が許可された場合、この操作の 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 を含む)

関連項目

FLT_CALLBACK_DATA

FLT_PARAMETERS

FLT_PARAMETERS (IRP_MJ_FILE_SYSTEM_CONTROL 用)

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL