FltAllocateFileLock 関数 (fltkernel.h)
FltAllocateFileLock ルーチンは、新しいFILE_LOCK構造体を割り当てて初期化します。
構文
PFILE_LOCK FLTAPI FltAllocateFileLock(
[in, optional] PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE CompleteLockCallbackDataRoutine,
[in, optional] PUNLOCK_ROUTINE UnlockRoutine
);
パラメーター
[in, optional] CompleteLockCallbackDataRoutine
IRP_MJ_LOCK_CONTROL要求が完了したときに呼び出されるPFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE型指定のコールバック ルーチンへのポインター。 このパラメーターは省略可能であり、NULL にすることができます。
[in, optional] UnlockRoutine
バイト範囲のロックが解除されたときに呼び出される 、PUNLOCK_ROUTINE型指定されたコールバック ルーチンへのポインター。 このパラメーターは省略可能であり、NULL にすることができます。
戻り値
FltAllocateFileLock は、新しく割り当てられたFILE_LOCK構造体へのポインター を 返します。
注釈
FltAllocateFileLock は、ページ プールから新しい FILE_LOCK 構造体を割り当て、初期化します。
返される FILE_LOCK 構造体を使用すると、 FltProcessFileLock を呼び出すことによって、ファイル内のバイト範囲をロックできます。
FILE_LOCK構造体が不要になった場合は、FltUninitializeFileLock を呼び出すことで初期化解除できます。 初期化されていない FILE_LOCK 構造体は、 FltInitializeFileLock を呼び出すことで再利用できるように初期化できます。
初期化された FILE_LOCK 構造体を解放するには、 FltFreeFileLock を呼び出します。
FltProcessFileLock に渡される CallbackData パラメーターが高速 I/O 操作を表す場合、CompleteLockCallbackDataRoutine で指定されたコールバックは呼び出されません。 CallbackData の I/O 操作が IRP で、CompleteLockCallbackDataRoutine が NULL でない場合にのみ、コールバック ルーチンが呼び出されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP SP2 |
サポートされている最小のサーバー | Windows Server 2003 SP1 |
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
IRQL | <= APC_LEVEL |