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이 아닌 경우 호출자는 작업이 성공할 때까지 대기 상태로 전환되며, 이때 이벤트가 Signaled 상태로 설정됩니다.

[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이면 파일을 잠글 수 없는 경우 즉시 를 반환합니다. FALSE이면 잠금 요청이 부여될 때까지 기다립니다.

[in] ExclusiveLock

TRUE인 경우 바이트 범위 잠금은 배타적입니다. 그렇지 않으면 공유 잠금입니다.

반환 값

ZwLockFile 루틴은 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 오류 NTSTATUS 값을 반환합니다.

오류 코드 Description
STATUS_INSUFFICIENT_RESOURCES 지정된 파일에 대한 바이트 범위 잠금을 부여할 리소스가 부족합니다.
STATUS_LOCK_NOT_GRANTED 지정된 파일에 대해 바이트 범위 잠금이 부여되지 않았습니다.

설명

ZwLockFile의 호출자는 IRQL = PASSIVE_LEVEL 및 특수 커널 APC를 사용하도록 설정된 상태에서 실행되어야 합니다.

참고

ZwLockFile 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwLockFile" 대신 "NtLockFile"이라는 이름을 사용해야 합니다.

커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxxZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 NtXxx 버전과 ZwXxx 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h, FltKernel.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL(설명 섹션 참조)
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

추가 정보

네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용

ZwUnlockFile