Fungsi NdisSetTimerObject (ndis.h)

Fungsi NdisSetTimerObject mengatur objek timer untuk diaktifkan setelah interval tertentu atau secara berkala.

Sintaks

BOOLEAN NdisSetTimerObject(
  [in]           NDIS_HANDLE   TimerObject,
  [in]           LARGE_INTEGER DueTime,
  [in, optional] LONG          MillisecondsPeriod,
  [in, optional] PVOID         FunctionContext
);

Parameter

[in] TimerObject

Handel ke objek timer yang disediakan NDIS saat driver memanggil Fungsi NdisAllocateTimerObject .

[in] DueTime

Waktu absolut atau relatif di mana timer akan kedaluwarsa. Jika nilai parameter DueTime negatif, waktu kedaluwarsa relatif terhadap waktu sistem saat ini. Jika tidak, waktu kedaluwarsa adalah absolut. Waktu kedaluwarsa dinyatakan dalam unit waktu sistem (interval 100 nanodetik). Waktu kedaluwarsa absolut melacak perubahan apa pun dalam waktu sistem; waktu kedaluwarsa relatif tidak terpengaruh oleh perubahan waktu sistem.

[in, optional] MillisecondsPeriod

Interval waktu berkala, dalam milidetik, yang berlalu antara setiap kali timer diaktifkan dan panggilan berikutnya ke fungsi NetTimerCallback , kecuali timer dibatalkan. Nilai parameter ini harus kurang dari atau sama dengan MAXLONG.

[in, optional] FunctionContext

Penunjuk ke area konteks yang disediakan penelepon yang diteruskan NDIS ke fungsi NetTimerCallback terkait saat timer diaktifkan. Jika parameter ini NULL, NDIS menggunakan nilai default yang ditentukan dalam NDIS_TIMER_CHARACTERISTICS struktur.

Mengembalikan nilai

NdisSetTimerObject mengembalikan TRUE jika objek timer sudah berada dalam antrean timer sistem; jika tidak, ia mengembalikan FALSE.

Keterangan

Setelah driver memanggil NdisSetTimerObject, objek timer diantrekan hingga interval yang ditentukan dalam parameter DueTime kedaluwarsa. Setelah interval kedaluwarsa, objek timer dihapus antrean dan fungsi NetTimerCallback yang disediakan pemanggil dijalankan sekali di IRQL = DISPATCH_LEVEL segera setelah prosesor tersedia.

Jika nilai bukan nol ditentukan dalam parameter MillisecondsPeriod , objek timer diantrekan lagi hingga interval yang ditentukan dalam MilidetikPeriod kedaluwarsa. Setelah interval ini kedaluwarsa, objek timer diantrekan kembali dan fungsi NetTimerCallback yang disediakan pemanggil dijalankan sekali pada IRQL = DISPATCH_LEVEL segera setelah prosesor tersedia.

Catatan Dimulai dengan Windows 7, Anda dapat mengurangi konsumsi daya dengan memanggil NdisSetCoalescableTimerObject alih-alih NdisSetTimerObject jika presisi timer yang tepat tidak diperlukan.
 
Untuk informasi selengkapnya tentang perilaku timer, lihat KeSetTimerEx.

Untuk membatalkan timer, panggil fungsi NdisCancelTimerObject .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI Irql_Timer_Function(ndis), PeriodicTimer(ndis)

Lihat juga

KeSetTimerEx

NDIS_TIMER_CHARACTERISTICS

NdisAllocateTimerObject

NdisCancelTimerObject

NdisSetCoalescableTimerObject

NetTimerCallback