FLT_PARAMETERS para IRP_MJ_LOCK_CONTROL união
O componente de união a seguir é usado quando o campo MajorFunction da estrutura FLT_IO_PARAMETER_BLOCK da operação é IRP_MJ_LOCK_CONTROL.
Sintaxe
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;
Membros
LockControl: estrutura que contém os seguintes membros.
Comprimento: ponteiro para uma variável que especifica o comprimento em bytes do intervalo a ser bloqueado.
Chave: valor da chave a ser atribuído ao bloqueio de intervalo de bytes.
ByteOffset: deslocamento de bytes inicial dentro do arquivo do intervalo a ser bloqueado.
ProcessId: ponteiro opaco para o objeto de processo para o processo que solicitou o bloqueio de intervalo de bytes.
FailImmediately: valor booliano que especifica se a solicitação de bloqueio deve falhar se o bloqueio não puder ser concedido imediatamente. Esse membro será definido como FALSE se o thread solicitante puder ser colocado em um estado de espera até que a solicitação seja concedida ou TRUE se não puder.
ExclusiveLock: valor booliano que especifica se um bloqueio exclusivo é solicitado. Esse membro será definido como TRUE se um bloqueio exclusivo for solicitado ou FALSE se um bloqueio compartilhado for solicitado.
Comentários
A estrutura FLT_PARAMETERS para a operação de IRP_MJ_LOCK_CONTROL representada por uma estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA). Ele está contido em uma estrutura FLT_IO_PARAMETER_BLOCK .
IRP_MJ_LOCK_CONTROL pode ser uma operação de E/S baseada em IRP ou uma operação de E/S rápida.
Requisitos
Tipo de Requisito | Requisito |
---|---|
parâmetro | Fltkernel.h (inclua Fltkernel.h) |