Compartilhar via


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)

Confira também

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