struktur WDF_TIMER_CONFIG (wdftimer.h)

[Berlaku untuk KMDF dan UMDF]

Struktur WDF_TIMER_CONFIG berisi informasi konfigurasi untuk objek pengatur waktu kerangka kerja.

Sintaks

typedef struct _WDF_TIMER_CONFIG {
  ULONG         Size;
  PFN_WDF_TIMER EvtTimerFunc;
  ULONG         Period;
  BOOLEAN       AutomaticSerialization;
  ULONG         TolerableDelay;
  BOOLEAN       UseHighResolutionTimer;
} WDF_TIMER_CONFIG, *PWDF_TIMER_CONFIG;

Anggota

Size

Ukuran, dalam byte, dari struktur ini.

EvtTimerFunc

Penunjuk ke fungsi panggilan balik EvtTimerFunc yang disediakan driver, atau NULL.

Period

Periode waktu, dalam milidetik. Kerangka kerja memanggil fungsi panggilan balik EvtTimerFunc driver berulang kali, setiap kali jumlah milidetik yang ditentukan berlalu. Jika nilai ini nol, kerangka kerja tidak memanggil fungsi panggilan balik EvtTimerFunc driver berulang kali. Sebaliknya, ia memanggil fungsi panggilan balik sekali, setelah DueTime metode WdfTimerStart berlalu. (Periode waktu harus nol jika WdfTimerCreate mengatur tingkat eksekusi ke WdfExecutionLevelPassive.) Periode waktu tidak boleh berupa nilai negatif.

AutomaticSerialization

Nilai Boolean yang, jika TRUE, menunjukkan bahwa kerangka kerja akan menyinkronkan eksekusi fungsi panggilan balik EvtTimerFunc objek timer dengan fungsi panggilan balik dari objek lain yang berada di bawah objek perangkat induk timer. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini. Jika FALSE, kerangka kerja tidak menyinkronkan eksekusi fungsi panggilan balik EvtTimerFunc .

TolerableDelay

Menentukan toleransi, dalam milidetik, untuk periode timer yang ditentukan Periode dan untuk interval waktu awal yang ditentukan DueTime metode WdfTimerStart. Untuk timer berkala, interval waktu antara dua kedaluwarsa timer berturut-turut akan berada dalam rentang dari (Period - TolerableDelay) hingga (Period + TolerableDelay). Waktu kedaluwarsa awal akan berada dalam rentang dari DueTime hingga (DueTime + TolerableDelay). Nilai TolerableDelay tidak boleh negatif.

Anggota TolerableDelay tersedia di KMDF versi 1.9 dan yang lebih baru.

Mulai Windows 8.1, pada driver yang menggunakan minimal KMDF 1.13 atau UMDF 2.0, Anda dapat mengatur anggota ini ke TolerableDelayUnlimited untuk menentukan bahwa sistem tidak boleh dibangunkan sebagai akibat dari kedaluwarsa timer ini.

Jika UseHighResolutionTimer adalah WdfTrue, Anda harus mengatur TolerableDelay ke nol. Jika tidak, WdfTimerCreate mengembalikan kode kegagalan.

Untuk informasi selengkapnya tentang anggota ini, lihat bagian Keterangan berikut ini.

UseHighResolutionTimer

KmDF saja

Anggota ini tersedia mulai dari Windows 8.1 dan KMDF versi 1.13.

Nilai yang WDF_TRI_STATE ketik. Jika nilai ini adalah WdfTrue, kerangka kerja menggunakan timer resolusi tinggi yang memiliki akurasi satu milidetik. Jika nilainya adalah WdfFalse atau WdfDefault, kerangka kerja menggunakan timer standar yang memiliki akurasi yang cocok dengan interval tick jam sistem, yaitu secara default 15,6 milidetik.

Peringatan Jika Anda mengatur UseHighResolutionTimer ke WdfTrue, Anda harus memanggil WdfTimerStart dengan parameter DueTime yang diatur ke nilai negatif. Jika tidak, panggilan menyebabkan sistem mengalami crash.
 
Jika UseHighResolutionTimer adalah WdfTrue, Anda harus mengatur TolerableDelay ke nol. Jika tidak, WdfTimerCreate mengembalikan kode kegagalan.

Untuk informasi selengkapnya tentang anggota ini, lihat bagian Keterangan berikut ini.

Keterangan

Struktur WDF_TIMER_CONFIG digunakan sebagai input ke metode WdfTimerCreate . Untuk menginisialisasi struktur WDF_TIMER_CONFIG , driver Anda harus memanggil WDF_TIMER_CONFIG_INIT atau WDF_TIMER_CONFIG_INIT_PERIODIC.

Mengatur anggota AutomaticSerializationWDF_TIMER_CONFIG ke TRUE tidak berpengaruh jika cakupan sinkronisasi objek induk diatur ke WdfSynchronizationScopeNone.

Jika tingkat eksekusi objek perangkat induk adalah WdfExecutionLevelPassive, Anda dapat mengatur anggota AutomaticSerialization ke TRUE hanya jika objek timer mewakili timer tingkat pasif.

Jika driver menggunakan anggota TolerableDelay , sistem operasi dapat mengelompokkan waktu kedaluwarsa yang berdekatan dan memproses semuanya sekaligus. Jika sistem operasi dapat menangani kedaluwarsa beberapa timer sekaligus, itu berpotensi menjaga komputer dalam keadaan daya rendah untuk jangka waktu yang lebih lama untuk meningkatkan masa pakai baterai.

Jika anggota TolerableDelay adalah TolerableDelayUnlimited, sistem tidak akan kembali ke status sepenuhnya aktif (S0) untuk melayani timer jika berada dalam status daya rendah (Sx) ketika timer kedaluwarsa. Driver dapat menentukan TolerableDelayUnlimited untuk meningkatkan masa pakai baterai ketika timer terkait dengan operasi berkala non-kritis.

Mengatur UseHighResolutionTimer ke WdfTrue dapat mengakibatkan penurunan masa pakai baterai.

Untuk informasi selengkapnya tentang AutomaticSerialization dan menyinkronkan fungsi panggilan balik driver, lihat Teknik Sinkronisasi untuk Driver Framework-Based.

Untuk informasi selengkapnya tentang objek timer kerangka kerja, lihat Menggunakan Timer.

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdftimer.h (termasuk Wdf.h)

Lihat juga

EvtTimerFunc

WDF_TIMER_CONFIG_INIT

WDF_TIMER_CONFIG_INIT_PERIODIC

WdfTimerCreate

WdfTimerStart