Bagikan melalui


Fungsi ZwLockFile (ntifs.h)

ZwLockFile rutin meminta kunci rentang byte untuk file yang ditentukan.

Sintaksis

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
);

Parameter

[in] FileHandle

Handel untuk file tempat kunci rentang byte diminta.

[in, optional] Event

Handel ke peristiwa yang dibuat pemanggil. Jika tidak NULL, pemanggil ditempatkan ke dalam status tunggu hingga operasi berhasil, pada saat itu peristiwa diatur ke dalam status Sinyal.

[in, optional] ApcRoutine

Penunjuk ke rutinitas APC yang disediakan penelepon yang dijalankan setelah operasi selesai. Dapat NULL.

[in, optional] ApcContext

Penunjuk ke konteks yang ditentukan pemanggil untuk rutinitas APC. Nilai ini diteruskan ke rutinitas APC saat dijalankan. Dapat NULL.

[out] IoStatusBlock

Penunjuk ke struktur IO_STATUS_BLOCK yang berisi status akhir.

[in] ByteOffset

Penunjuk ke variabel yang menentukan offset byte awal dari rentang yang akan dikunci.

[in] Length

Penunjuk ke variabel yang menentukan panjang dalam byte rentang yang akan dikunci.

[in] Key

Nilai yang ditetapkan penelepon yang digunakan untuk menjelaskan grup kunci terkait. Nilai ini harus diatur ke nol.

[in] FailImmediately

Jika TRUE, segera kembali jika file tidak dapat dikunci. Jika FALSE, tunggu hingga permintaan kunci diberikan.

[in] ExclusiveLock

Jika TRUE, kunci rentang byte bersifat eksklusif; jika tidak, kunci bersama.

Mengembalikan nilai

Rutinitas ZwLockFile mengembalikan STATUS_SUCCESS atau nilai NTSTATUS kesalahan yang sesuai seperti salah satu hal berikut ini.

Kode kesalahan Deskripsi
STATUS_INSUFFICIENT_RESOURCES Sumber daya tidak mencukupi ada untuk memberikan kunci rentang byte untuk file yang ditentukan.
STATUS_LOCK_NOT_GRANTED Kunci rentang byte tidak diberikan untuk file yang ditentukan.

Komentar

Penelepon ZwLockFile harus berjalan di IRQL = PASSIVE_LEVEL dan dengan APC kernel khusus diaktifkan.

Nota

Jika panggilan ke fungsi ZwLockFile terjadi dalam mode pengguna, Anda harus menggunakan nama "NtLockFile" alih-alih "ZwLockFile".

Untuk panggilan dari driver mode kernel, NtXxx dan ZwXxx versi rutin Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara NtXxx dan versi ZwXxx rutin, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 7
Platform Target Universal
Header ntifs.h (termasuk Ntifs.h, FltKernel.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (lihat bagian Keterangan)
aturan kepatuhan DDI HwStorPortProhibitedDIs (storport), PowerIrpDDis(wdm)

Lihat juga

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

ZwUnlockFile