FLT_PARAMETERS для объединения IRP_MJ_LOCK_CONTROL
Следующий компонент объединения используется, когда поле MajorFunctionструктуры FLT_IO_PARAMETER_BLOCK для операции 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: указатель на переменную, указывающую длину в байтах заблокированного диапазона.
Ключ: значение ключа, назначаемое блокировке диапазона байтов.
ByteOffset: начальное смещение байтов в файле диапазона, который необходимо заблокировать.
ProcessId: непрозрачный указатель на объект процесса для процесса, запрашивающего блокировку диапазона байтов.
FailImmediately: логическое значение, указывающее, должен ли запрос на блокировку завершаться ошибкой, если блокировка не может быть предоставлена немедленно. Этот элемент имеет значение FALSE , если запрашивающий поток может быть переведен в состояние ожидания до тех пор, пока запрос не будет предоставлен, или ЗНАЧЕНИЕ TRUE , если это невозможно.
ExclusiveLock: логическое значение, указывающее, запрашивается ли монопольная блокировка. Для этого элемента задано значение TRUE , если запрашивается монопольная блокировка, или FALSE , если запрашивается общая блокировка.
Комментарии
Структура FLT_PARAMETERS для операции IRP_MJ_LOCK_CONTROL , представленная структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в структуре FLT_IO_PARAMETER_BLOCK .
IRP_MJ_LOCK_CONTROL может быть операцией ввода-вывода на основе IRP или быстрой операцией ввода-вывода.
Требования
Тип требования | Требование |
---|---|
Заголовок | Fltkernel.h (включая Fltkernel.h) |