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 peristiwa diatur ke dalam status Sinyal.
[in, optional] ApcRoutine
Pointer 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 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 kembalikan 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 STATUS_SUCCESS atau nilai kesalahan NTSTATUS yang sesuai. Kemungkinan nilai NTSTATUS meliputi yang berikut ini:
Menampilkan kode | Deskripsi |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Sumber daya yang ada tidak mencukupi untuk memberikan kunci rentang byte untuk file yang ditentukan. |
STATUS_LOCK_NOT_GRANTED | Kunci rentang byte tidak diberikan untuk file yang ditentukan. |
Keterangan
Penelepon 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 menginterpretasikan 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
Persyaratan | Nilai |
---|---|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk