다음을 통해 공유


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: 다음 멤버를 포함하는 구조체입니다.

  • 길이: 잠글 범위의 길이(바이트)를 지정하는 변수에 대한 포인터입니다.

  • : 바이트 범위 잠금에 할당할 키 값입니다.

  • 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 포함)

추가 정보

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