次の方法で共有


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

フィルター (レガシ フィルターまたはミニフィルター) は、PUNLOCK_ROUTINE型指定のルーチンを、FILE_LOCK構造体のフィルターの UnlockRoutine コールバック ルーチンとして登録できます。

構文

PUNLOCK_ROUTINE PunlockRoutine;

void PunlockRoutine(
  PVOID Context,
  PFILE_LOCK_INFO FileLockInfo
)
{...}

パラメーター

Context

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

FileLockInfo

バイト範囲ロックの FILE_LOCK_INFO 構造体への不透明なポインター。

戻り値

なし

解説

フィルター (レガシ フィルターまたはミニフィルター) では、必要に応じて、バイト範囲ファイル ロックのフィルターの UnlockRoutine コールバックとして、PUNLOCK_ROUTINE型指定されたルーチンを指定できます。

フィルターでFILE_LOCK構造体の UnlockRoutine ルーチンが指定されている場合、ファイル内のロックされたバイト範囲からロックが削除されると、このルーチンが呼び出されます。

ミニフィルターは、FltAllocateFileLockUnlockRoutine パラメーターとしてルーチンへのポインターを渡すことによって、このルーチンを指定します。

レガシ フィルターは、FsRtlAllocateFileLock または FsRtlInitializeFileLockUnlockRoutine パラメーターとしてルーチンへのポインターを渡すことによって、このルーチンを指定します

要件

要件
Header ntifs.h
IRQL IRQL <= APC_LEVEL

こちらもご覧ください

FltAllocateFileLock

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFreeFileLock

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PCOMPLETE_LOCK_IRP_ROUTINE

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE