FLT_PARAMETERS für IRP_MJ_LOCK_CONTROL Union
Die folgende Union-Komponente wird verwendet, wenn das Feld MajorFunction der FLT_IO_PARAMETER_BLOCK-Struktur für den Vorgang IRP_MJ_LOCK_CONTROL ist.
Syntax
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;
Member
LockControl: Struktur, die die folgenden Member enthält.
Length: Zeiger auf eine Variable, die die Länge des zu sperrenden Bereichs in Byte angibt.
Schlüssel: Schlüsselwert, der der Bytebereichssperre zugewiesen werden soll.
ByteOffset: Startbyteoffset innerhalb der Datei des zu sperrenden Bereichs.
ProcessId: Undurchsichtiger Zeiger auf das Prozessobjekt für den Prozess, der die Bytebereichssperre angefordert hat.
FailImmediately: Boolescher Wert, der angibt, ob die Sperranforderung fehlschlagen soll, wenn die Sperre nicht sofort gewährt werden kann. Dieser Member wird auf FALSE festgelegt, wenn der anfordernde Thread in einen Wartezustand versetzt werden kann, bis die Anforderung gewährt wird, oder AUF TRUE , wenn dies nicht möglich ist.
ExclusiveLock: Boolescher Wert, der angibt, ob eine exklusive Sperre angefordert wird. Dieser Member wird auf TRUE festgelegt, wenn eine exklusive Sperre angefordert wird, oder AUF FALSE , wenn eine freigegebene Sperre angefordert wird.
Hinweise
Die FLT_PARAMETERS-Struktur für den IRP_MJ_LOCK_CONTROL-Vorgang , der durch eine Rückrufdatenstruktur (FLT_CALLBACK_DATA) dargestellt wird. Sie ist in einer FLT_IO_PARAMETER_BLOCK-Struktur enthalten.
IRP_MJ_LOCK_CONTROL kann ein IRP-basierter E/A-Vorgang oder ein schneller E/A-Vorgang sein.
Anforderungen
Anforderungstyp | Anforderung |
---|---|
Header | Fltkernel.h ( fltkernel.h einschließen) |