다음을 통해 공유


ZwUnlockFile 함수(ntifs.h)

ZwUnlockFile 루틴은 파일의 바이트 범위 잠금을 해제합니다.

통사론

NTSYSAPI NTSTATUS ZwUnlockFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PLARGE_INTEGER   ByteOffset,
  [in]  PLARGE_INTEGER   Length,
  [in]  ULONG            Key
);

매개 변수

[in] FileHandle

바이트 범위의 잠금을 해제할 파일을 나타내는 파일 개체에 대한 핸들입니다.

[out] IoStatusBlock

최종 상태를 포함하는 IO_STATUS_BLOCK 구조체에 대한 포인터입니다.

[in] ByteOffset

잠금을 해제할 바이트 범위의 시작 바이트 오프셋을 지정하는 변수에 대한 포인터입니다.

[in] Length

잠금을 해제할 바이트 범위의 길이(바이트)를 지정하는 변수에 대한 포인터입니다.

[in] Key

관련된 잠금 그룹을 설명하는 데 사용되는 호출자 할당 값입니다. 이 값은 0으로 설정해야 합니다.

반환 값

ZwUnlockFile 루틴은 성공 또는 적절한 NTSTATUS 값에 대한 STATUS_SUCCESS 반환합니다. 가능한 NTSTATUS 값은 다음과 같습니다.

반환 코드 묘사
STATUS_RANGE_NOT_LOCKED 지정된 바이트 범위가 잠겨 있지 않습니다.

발언

ZwUnlockFile 루틴은 ByteOffset 지정된 바이트 범위와 Length 인수를 사용합니다. 이 범위는 이전에 ZwUnlockFile 루틴에 대한 단일 호출로 잠긴 파일의 바이트 범위와 동일해야 합니다. ZwUnlockFile한 번의 호출로 이전에 잠긴 인접한 두 범위의 잠금을 해제할 수 없습니다. ZwUnlockFile 루틴에 대한 단일 호출로 이전에 잠긴 범위의 일부를 잠금 해제할 수도 없습니다.

ZwUnlockFile 호출자는 IRQL = PASSIVE_LEVEL 및 특수 커널 APC를 사용하도록 설정된 **실행되어야 합니다.

메모

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

커널 모드 드라이버의 호출의 경우 NtXxxZwXxx 버전의 Windows Native System Services 루틴은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 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)

참고 항목

ZwLockFile