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 */ )

매개 변수

[in] A1

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

[in] A2

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

[in] A3

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

[in] A4

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

[in] A5

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

[in] A6

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

[in] A7

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

[in] A8

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

[out] A9

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

[in] A10

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

[in] A11

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

반환 값

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

설명

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

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

요구 사항

   
대상 플랫폼 데스크톱
헤더 ntifs.h(Ntifs.h 포함)
IRQL <= APC_LEVEL

참고 항목

FsRtlAllocateFileLock

FsRtlInitializeFileLock