Fungsi NtLockFile (ntifs.h)

Rutinitas NtLockFile meminta kunci rentang byte untuk file yang ditentukan.

Sintaks

__kernel_entry NTSYSCALLAPI NTSTATUS NtLockFile(
  [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 penelepon. Jika bukan NULL, penelepon 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. Bisa NULL.

[in, optional] ApcContext

Penunjuk ke konteks yang ditentukan penelepon untuk rutinitas APC. Nilai ini diteruskan ke rutinitas APC saat dijalankan. Bisa 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 untuk 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 NtLockFile mengembalikan nilai NTSTATUS STATUS_SUCCESS atau kesalahan yang sesuai. Nilai NTSTATUS yang mungkin mencakup yang berikut ini:

Menampilkan kode 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.

Keterangan

Pemanggil NtLockFile harus berjalan di IRQL = PASSIVE_LEVEL dan dengan APC kernel khusus diaktifkan**.

Catatan

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

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

Persyaratan

   
Klien minimum yang didukung Windows 7
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h, FltKernel.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (lihat bagian Keterangan)
Aturan kepatuhan DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Lihat juga

ZwUnlockFile