PINIT_ONCE_FN fungsi panggilan balik (synchapi.h)

Fungsi panggilan balik yang ditentukan aplikasi. Tentukan penunjuk ke fungsi ini saat memanggil fungsi InitOnceExecuteOnce . Jenis PINIT_ONCE_FN menentukan penunjuk ke fungsi panggilan balik ini. InitOnceCallback adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.

Sintaks

PINIT_ONCE_FN PinitOnceFn;

BOOL PinitOnceFn(
  [in, out]           PINIT_ONCE InitOnce,
  [in, out, optional] PVOID Parameter,
  [out, optional]     PVOID *Context
)
{...}

Parameter

[in, out] InitOnce

Penunjuk ke struktur inisialisasi satu kali.

[in, out, optional] Parameter

Parameter opsional yang diteruskan ke fungsi panggilan balik.

[out, optional] Context

Data yang akan disimpan dengan struktur inisialisasi satu kali. Jika Konteks mereferensikan nilai, INIT_ONCE_CTX_RESERVED_BITS berurutan rendah dari nilai harus nol. Jika Konteks menunjuk ke struktur data, struktur data harus selaras dengan DWORD. Konteks tidak boleh menjadi penunjuk kode di Arm32, karena penunjuk kode Arm32 selalu memiliki set bit yang paling tidak signifikan, lihat ABI Arm32 untuk detailnya.

Nilai kembali

Jika fungsi mengembalikan TRUE, blok ditandai sebagai diinisialisasi.

Jika fungsi mengembalikan FALSE, blok tidak ditandai sebagai diinisialisasi dan panggilan ke InitOnceExecuteOnce gagal. Untuk mengomunikasikan informasi kesalahan tambahan, panggil SetLastError sebelum mengembalikan FALSE.

Keterangan

Fungsi ini dapat membuat objek sinkronisasi dan mengembalikannya dalam parameter lpContext .

Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, tentukan _WIN32_WINNT sebagai 0x0600 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.

Contoh

Untuk contoh yang menggunakan fungsi ini, lihat Menggunakan Inisialisasi One-Time.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header synchapi.h (termasuk Windows.h)

Lihat juga

InitOnceExecuteOnce

InitOnceInitialize

Fungsi Sinkronisasi