다음을 통해 공유


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] Length: 잠글 범위의 길이(바이트)를 지정하는 변수에 대한 포인터입니다.

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

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

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

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 ntifs.h(Ntifs.h 포함)
IRQL <= APC_LEVEL

참고 항목

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock