Fungsi KeQueryInterruptTimePrecise (wdm.h)

Rutinitas KeQueryInterruptTimePrecise mengembalikan nilai saat ini dari jumlah waktu interupsi sistem, dengan akurasi ke dalam mikrodetik.

Sintaks

ULONG64 KeQueryInterruptTimePrecise(
  [out] PULONG64 QpcTimeStamp
);

Parameter

[out] QpcTimeStamp

Penunjuk ke variabel ULONG64 tempat rutin menulis nilai penghitung kinerja yang digunakan untuk menginterpolasi nilai pengembalian.

Nilai kembali

Jumlah interupsi-waktu saat ini dalam 100 unit nanodetik.

Keterangan

KeQueryInterruptTimePrecise mengembalikan waktu interupsi sistem saat ini, yang merupakan jumlah waktu sejak sistem operasi terakhir dimulai. KeQueryInterruptTimePrecise mirip dengan rutinitas KeQueryInterruptTime , tetapi lebih tepat.

Waktu interupsi yang dilaporkan oleh KeQueryInterruptTime didasarkan pada tick terbaru timer jam sistem. Timer jam adalah timer perangkat keras yang secara berkala menghasilkan gangguan untuk jam sistem. Periode seragam antara interupsi timer jam disebut sebagai centang jam sistem, dan biasanya dalam kisaran 500 mikrodetik hingga 15,625 milidetik, tergantung pada platform perangkat keras. Nilai waktu interupsi yang diambil oleh KeQueryInterruptTime akurat dalam jam sistem.

Untuk memberikan nilai waktu interupsi yang lebih tepat daripada KeQueryInterruptTime, KeQueryInterruptTimePrecise menggunakan penghitung kinerja sistem untuk mengukur waktu yang berlalu sejak interupsi timer jam terakhir, dan menambahkan waktu ini ke waktu interupsi yang terkait dengan waktu jam terbaru. Waktu interupsi yang dilaporkan oleh KeQueryInterruptTimePrecise akurat dalam mikrosekon.

Pada beberapa platform perangkat keras, panggilan KeQueryInterruptTimePrecise mungkin lebih lambat daripada panggilan KeQueryInterruptTime . Alasannya adalah bahwa KeQueryInterruptTimePrecise membaca penghitung kinerja, yang dapat memperkenalkan penundaan tambahan. Untuk informasi selengkapnya, lihat KeQueryPerformanceCounter.

Panggil rutinitas KeQueryTimeIncrement untuk menentukan ukuran jam sistem.

Waktu interupsi yang tepat dapat digunakan untuk mengukur durasi yang sangat halus saat sistem berjalan karena operasi yang mengatur atau mengatur ulang waktu sistem tidak berpengaruh pada jumlah waktu interupsi sistem.

Namun, perubahan status manajemen daya memengaruhi jumlah waktu interupsi sistem. Pemeliharaan jumlah waktu interupsi ditangguhkan selama status tidur sistem. Ketika transisi status bangun berikutnya terjadi, sistem menambahkan nilai "bias" ke jumlah waktu interupsi untuk mengimbangi perkiraan durasi status tidur tersebut. Jumlah waktu interupsi yang dikembalikan oleh KeQueryInterruptTimePrecise menyertakan nilai bias ini. Untuk mendapatkan jumlah waktu interupsi yang tidak bias, gunakan KeQueryUnbiasedInterruptTime. Versi yang tepat dari jumlah waktu interupsi yang tidak bias saat ini tidak tersedia.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 8.1.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Tingkat apa pun

Lihat juga

Memperoleh stempel waktu resolusi tinggi

KeQueryInterruptTime

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime