ZwLockFile 함수(ntifs.h)
ZwLockFile 루틴은 지정된 파일에 대한 바이트 범위 잠금을 요청합니다.
통사론
NTSYSAPI NTSTATUS ZwLockFile(
[in] HANDLE FileHandle,
[in, optional] HANDLE Event,
[in, optional] PIO_APC_ROUTINE ApcRoutine,
[in, optional] PVOID ApcContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PLARGE_INTEGER ByteOffset,
[in] PLARGE_INTEGER Length,
[in] ULONG Key,
[in] BOOLEAN FailImmediately,
[in] BOOLEAN ExclusiveLock
);
매개 변수
[in] FileHandle
바이트 범위 잠금이 요청된 파일에 대한 핸들입니다.
[in, optional] Event
호출자가 만든 이벤트에 대한 핸들입니다. NULL
[in, optional] ApcRoutine
작업이 완료된 후 실행되는 호출자 제공 APC 루틴에 대한 포인터입니다. NULL
[in, optional] ApcContext
APC 루틴에 대해 호출자가 지정한 컨텍스트에 대한 포인터입니다. 이 값은 APC 루틴이 실행될 때 전달됩니다. NULL
[out] IoStatusBlock
최종 상태를 포함하는 IO_STATUS_BLOCK 구조체에 대한 포인터입니다.
[in] ByteOffset
잠글 범위의 시작 바이트 오프셋을 지정하는 변수에 대한 포인터입니다.
[in] Length
잠글 범위의 길이(바이트)를 지정하는 변수에 대한 포인터입니다.
[in] Key
관련 잠금 그룹을 설명하는 데 사용되는 호출자 할당 값입니다. 이 값은 0으로 설정해야 합니다.
[in] FailImmediately
TRUE
[in] ExclusiveLock
TRUE
반환 값
ZwLockFile 루틴은 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 오류 NTSTATUS 값을 반환합니다.
오류 코드 | 묘사 |
---|---|
STATUS_INSUFFICIENT_RESOURCES | 지정된 파일에 대한 바이트 범위 잠금을 부여할 리소스가 부족합니다. |
STATUS_LOCK_NOT_GRANTED | 지정된 파일에 대해 바이트 범위 잠금이 부여되지 않았습니다. |
발언
메모
ZwLockFile 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwLockFile" 대신 "NtLockFile" 이름을 사용해야 합니다.
커널 모드 드라이버의 호출의 경우 NtXxx 및 ZwXxx 버전의 Windows Native System Services 루틴은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 |
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h, FltKernel.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
PASSIVE_LEVEL(설명 섹션 참조) |
DDI 규정 준수 규칙 |
HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
참고 항목
네이티브 시스템 서비스 루틴 Nt 및 Zw 버전 사용
ZwUnlockFile