次の方法で共有


PCOMPLETE_LOCK_IRP_ROUTINE コールバック関数 (ntifs.h)

ファイル システム フィルター ドライバー (レガシ フィルター) は、PCOMPLETE_LOCK_IRP_ROUTINE型指定されたルーチンをフィルターの CompleteLockIrpRoutine コールバックとして登録できます。

構文

PCOMPLETE_LOCK_IRP_ROUTINE PcompleteLockIrpRoutine;

NTSTATUS PcompleteLockIrpRoutine(
  PVOID Context,
  PIRP Irp
)
{...}

パラメーター

Context

[in]FsRtlProcessFileLockに渡されたコンテキスト ポインター。

Irp

[in]完了中のファイル ロック IRP_MJ_LOCK_CONTROL 要求の IRP。 ロック要求の種類は、次のいずれかになります。

  • IRP_MN_LOCK
  • IRP_MN_UNLOCK_ALL
  • IRP_MN_UNLOCK_ALL_BY_KEY
  • IRP_MN_UNLOCK_SINGLE

戻り値

このルーチンは、STATUS_SUCCESSまたは適切な NTSTATUS 値を返します。 成功コードではない NTSTATUS 値が返された場合、ファイル ロックはファイルから削除されます。

備考

ファイル システム フィルター ドライバー (レガシ フィルター) は、必要に応じて、バイト範囲ファイル ロックのレガシ フィルターの CompleteLockIrpRoutine ルーチンとして、PCOMPLETE_LOCK_IRP_ROUTINE型指定されたルーチンを指定できます。

このルーチンを指定するために、レガシ フィルターは、fsRtlAllocateFileLock または FsRtlInitializeFileLockCompleteLockIrpRoutine パラメーターとしてルーチンへのポインターを渡します。

レガシ フィルターでファイル ロックの completeLockIrpRoutine ルーチン を指定した場合、システムは、ファイル ロックの IRP_MJ_LOCK_CONTROL 操作を完了するときにこのルーチンを呼び出します。

必要条件

要件 価値
ヘッダー ntifs.h
IRQL APC_LEVEL

関連項目

FsRtlAllocateFileLock

FsRtlCheckLockForReadAccess の

FsRtlCheckLockForWriteAccess

FsRtlFreeFileLock

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PUNLOCK_ROUTINE