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 を含む) |