次の方法で共有


IRP_MJ_LOCK_CONTROL 共用体の FLT_PARAMETERS

次の共用体コンポーネントは、操作における FLT_IO_PARAMETER_BLOCK 構造体の MajorFunction フィールドが IRP_MJ_LOCK_CONTROL であるときに使用されます。

構文

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PLARGE_INTEGER          Length;
    ULONG POINTER_ALIGNMENT Key;
    LARGE_INTEGER           ByteOffset;
    PEPROCESS               ProcessId;
    BOOLEAN                 FailImmediately;
    BOOLEAN                 ExclusiveLock;
  } LockControl;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

メンバー

  • LockControl: 次のメンバーが含まれる構造体。

  • Length: ロックする範囲の長さをバイト単位で指定する変数へのポインター。

  • Key: バイト範囲ロックに割り当てられるキー値。

  • ByteOffset: ロックする範囲のファイル内の開始バイト オフセット。

  • ProcessId: バイト範囲ロックを要求したプロセスのプロセス オブジェクトへの不透明なポインター。

  • FailImmediately: ロックをすぐに許可できない場合にロック要求を失敗させるかどうかを指定するブール値。 このメンバーは、要求が許可されるまで要求スレッドを待機状態にできる場合は FALSE に設定され、待機状態にできない場合は TRUE に設定されます。

  • ExclusiveLock: 排他ロックが要求されるかどうかを指定するブール値。 このメンバーは、排他ロックが要求される場合は TRUE に設定され、共有ロックが要求される場合は FALSE に設定されます。

解説

コールバック データ (FLT_CALLBACK_DATA) 構造体が表す IRP_MJ_LOCK_CONTROL 操作の FLT_PARAMETERS 構造体。 これは、FLT_IO_PARAMETER_BLOCK 構造体に含まれています。

IRP_MJ_LOCK_CONTROL には、IRP ベースの I/O 操作または高速 I/O 操作を指定できます。

要件

要件タイプ 要件
ヘッダー Fltkernel.h (Fltkernel.h を含む)

関連項目

ACCESS_MASK

ACCESS_STATE

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FltAllocateFileLock

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE