Bagikan melalui


Membuat Penyedia Waktu

Penyedia waktu diimplementasikan sebagai DLL. Setiap DLL dapat mendukung beberapa penyedia waktu. Setiap penyedia bertanggung jawab atas konfigurasi dan sinkronisasinya sendiri.

Penyedia waktu harus menerapkan fungsi panggilan balik berikut:

Setelah memuat DLL penyedia, manajer penyedia waktu memanggil TimeProvOpen, meneruskan nama penyedia dan pointer ke fungsi berikut:

Fungsi-fungsi ini untuk digunakan oleh penyedia waktu. Penyedia waktu menggunakan TimeProvOpen untuk mengembalikan handel penyedia yang digunakan manajer penyedia waktu saat mengirim perintah ke penyedia waktu. Nilai handel didefinisikan oleh penyedia waktu dan digunakan terutama untuk membedakan antara penyedia yang berbeda yang diterapkan dalam DLL yang sama. Penyedia waktu dapat mencatat peristiwa signifikan menggunakan LogTimeProvEventFunc.

Manajer penyedia waktu menggunakan TimeProvCommand untuk mengirim perintah ke penyedia waktu. Ketika penyedia waktu perlu memberi tahu manajer penyedia waktu bahwa ia memiliki sampel waktu yang tersedia, ia memanggil AlertSamplesAvailFunc. Manajer penyedia waktu kemudian memanggil TimeProvCommand dengan perintah TPC_GetSamples untuk mengambil sampel waktu. Dibutuhkan waktu hingga 16 detik bagi manajer penyedia waktu untuk meminta sampel. Oleh karena itu, aplikasi tidak boleh menunggu permintaan.

Untuk memastikan akurasi, penyedia waktu harus mengambil semua informasi terkait waktu menggunakan GetTimeSysInfoFunc.

Ketika saatnya mematikan penyedia waktu, manajer penyedia waktu memanggil TimeProvClose.