Fungsi RtlRunOnceBeginInitialize (ntddk.h)
Rutinitas RtlRunOnceBeginInitialize memulai inisialisasi satu kali.
Sintaks
NTSYSAPI NTSTATUS RtlRunOnceBeginInitialize(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[out] PVOID *Context
);
Parameter
[in, out] RunOnce
Arahkan ke struktur inisialisasi satu kali RTL_RUN_ONCE .
[in] Flags
Driver dapat secara opsional menentukan satu atau beberapa bendera berikut:
RTL_RUN_ONCE_ASYNC
Lakukan inisialisasi secara asinkron. Driver dapat melakukan beberapa upaya penyelesaian secara paralel. Jika bendera ini digunakan, panggilan berikutnya ke rutinitas ini akan gagal kecuali bendera ini juga ditentukan.
RTL_RUN_ONCE_CHECK_ONLY
Jangan mulai inisialisasi, tetapi periksa untuk menentukan apakah inisialisasi telah terjadi. Jika RtlRunOnceBeginInitialize mengembalikan STATUS_SUCCESS, inisialisasi berhasil, dan *Konteks berisi data yang diinisialisasi.
[out] Context
Menentukan penunjuk ke variabel PVOID yang menerima data yang diinisialisasi. Nilai *Konteks hanya valid saat rutin mengembalikan STATUS_SUCCESS.
Nilai kembali
RtlRunOnceBeginInitialize mengembalikan salah satu nilai NTSTATUS berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Inisialisasi satu kali telah selesai. Data yang diinisialisasi disimpan di lokasi memori yang dituju konteks . |
|
Pemanggil telah berhasil memulai inisialisasi satu kali. Pemanggil sekarang melakukan langkah-langkah inisialisasi khusus driver dan kemudian memanggil RtlRunOnceComplete untuk menyelesaikan inisialisasi. |
Keterangan
Driver dapat melakukan inisialisasi satu kali dengan memanggil RtlRunOnceExecuteOnce dan menyediakan rutinitas RunOnceInitialization .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi Windows yang lebih baru. |
Target Platform | Universal |
Header | ntddk.h (termasuk Ntddk.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |