Fungsi RtlRunOnceComplete (ntddk.h)

Rutinitas RtlRunOnceComplete menyelesaikan inisialisasi satu kali dimulai oleh RtlRunOnceBeginInitialize.

Sintaks

NTSYSAPI NTSTATUS RtlRunOnceComplete(
  [in, out]      PRTL_RUN_ONCE RunOnce,
  [in]           ULONG         Flags,
  [in, optional] 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

Beroperasi dalam mode asinkron. Mode ini memungkinkan beberapa upaya penyelesaian untuk dijalankan secara paralel. Jika bendera ini digunakan, panggilan berikutnya ke rutinitas RtlRunOnceComplete akan gagal kecuali bendera ini juga ditentukan.

RTL_RUN_ONCE_INIT_FAILED

Upaya inisialisasi gagal.

[in, optional] Context

Menentukan data yang diinisialisasi.

Nilai kembali

RtlRunOnceComplete mengembalikan salah satu nilai NTSTATUS berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Operasi berhasil diselesaikan.
STATUS_UNSUCCESSFUL
Operasi tidak dapat diselesaikan. Jika penelepon menentukan RTL_RUN_ONCE_ASYNC dalam parameter Bendera , nilai ini dapat menunjukkan bahwa utas lain menyelesaikan inisialisasi.

Keterangan

Jika RtlRunOnceComplete mengembalikan STATUS_SUCCESS, setiap panggilan berikutnya ke RtlRunOnceBeginInitialize untuk struktur RTL_RUN_ONCE yang sama menyediakan Konteks sebagai data yang diinisialisasi.

Jika penelepon yang ditentukan RTL_RUN_ONCE_ASYNC dalam parameter Bendera dan RtlRunOnceComplete mengembalikan nilai apa pun selain STATUS_SUCCESS, pemanggil harus membersihkan inisialisasi apa pun yang dicoba.

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

Lihat juga

RTL_RUN_ONCE

RtlRunOnceBeginInitialize

RtlRunOnceExecuteOnce

RtlRunOnceInitialize

RunOnceInitialization