次の方法で共有


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
ターゲット プラットフォーム の 万国
ヘッダー fltkernel.h (Fltkernel.h を含む)
ライブラリ FltMgr.lib
IRQL <= APC_LEVEL

関連項目

FILE_LOCK

FltCheckLockForReadAccess の

FltCheckLockForWriteAccess の

FltFreeFileLock を する

FltInitializeFileLock の

FltProcessFileLock の

FltUninitializeFileLock の

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE