FsRtlFastLock 매크로(ntifs.h)

FsRtlFastLock 매크로는 파일 시스템 및 필터 드라이버에서 파일 스트림에 대한 바이트 범위 잠금을 요청하는 데 사용됩니다.

구문

BOOLEAN
FsRtlFastLock( A1,   /* FileLock            */
               A2,   /* FileObject          */
               A3,   /* FileOffset          */
               A4,   /* Length              */
               A5,   /* ProcessId           */
               A6,   /* Key                 */
               A7,   /* FailImmediately     */
               A8,   /* ExclusiveLock       */
               A9,   /* Iosb                */
               A10,  /* Context             */
               A11   /* AlreadySynchronized */ )

매개 변수

A1

[in] FileLock: 파일의 FILE_LOCK 구조체에 대한 포인터입니다. 이 구조체는 FsRtlAllocateFileLock 또는 FsRtlInitializeFileLock에 대한 이전 호출에 의해 초기화되어야 합니다.

A2

[in] FileObject: 열려 있는 파일의 FILE_OBJECT 대한 포인터입니다. 파일 개체는 파일(또는 둘 다)에 대한 GENERIC_READ 또는 GENERIC_WRITE 액세스 권한으로 만들어졌어야 합니다.

A3

[in] FileOffset: 잠글 범위의 파일 내에서 시작 바이트 오프셋을 지정하는 변수에 대한 포인터입니다.

A4

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

A5

[in] ProcessId: 바이트 범위 잠금을 요청하는 프로세스의 EPROCESS 프로세스 ID에 대한 포인터입니다.

A6

[in] : 바이트 범위 잠금에 할당할 키입니다.

A7

[in] FailImmediately: 잠금을 즉시 부여할 수 없는 경우 잠금 요청이 실패할지 여부를 지정하는 부울 값입니다. 요청이 부여될 때까지 호출자를 대기 상태로 전환할 수 있는 경우 FailImmediately 를 FALSE로 설정합니다. 이렇게 할 수 없는 경우 FailImmediately 를 TRUE로 설정합니다.

A8

[in] ExclusiveLock: 배타적 잠금이 요청되면 TRUE로, 공유 잠금이 요청되면 FALSE로 설정합니다.

A9

[out] Iosb: 잠금 요청에 대한 상태 정보를 수신하는 호출자가 할당한 IO_STATUS_BLOCK 구조체에 대한 포인터입니다.

A10

[in] 컨텍스트: 바이트 범위 잠금을 해제할 때 사용할 컨텍스트에 대한 선택적 포인터입니다.

A11

[in] AlreadySynchronized: 이 매개 변수는 사용되지 않지만 레거시 드라이버와의 호환성을 위해 유지됩니다.

반환 값

FsRtlFastLock은 TRUE를 반환하여 Iosb가 가리키는 IO_STATUS_BLOCK 구조체가 잠금 작업에 대한 상태 정보를 수신했음을 나타내고, 그렇지 않으면 FALSE를 반환합니다.

설명

FsRtlFastLock 매크로를 사용하면 호출자가 지정된 파일의 영역에서 바이트 범위 잠금을 획득합니다.

Iosb에서 가리키는 구조체의 내용을 검사하려면 NT_STATUS 매크로를 사용합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 ntifs.h(Ntifs.h 포함)
IRQL <= APC_LEVEL

추가 정보

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock