次の方法で共有


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

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

構文

PCOMPLETE_LOCK_IRP_ROUTINE PcompleteLockIrpRoutine;

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

パラメーター

Context

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

Irp

[入力]ファイル ロックの IRP IRP_MJ_LOCK_CONTROL 完了している要求です。 ロック要求の種類は、次のいずれかになります。

  • 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 操作を完了するときにこのルーチンを呼び出します。

要件

要件
Header ntifs.h
IRQL APC_LEVEL

こちらもご覧ください

FsRtlAllocateFileLock

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFreeFileLock

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PUNLOCK_ROUTINE