Fungsi NdisCancelTimerObject (ndis.h)
Fungsi NdisCancelTimerObject membatalkan objek timer yang terkait dengan panggilan sebelumnya ke fungsi NdisSetTimerObject .
Sintaks
BOOLEAN NdisCancelTimerObject(
[in] NDIS_HANDLE TimerObject
);
Parameter
[in] TimerObject
Handel ke objek timer yang disediakan NDIS saat driver memanggil Fungsi NdisAllocateTimerObject .
Nilai kembali
NdisCancelTimerObject mengembalikan TRUE jika objek timer yang ditentukan berada dalam antrean timer sistem; jika tidak, ia mengembalikan FALSE.
Keterangan
Panggilan ke NdisCancelTimerObject membatalkan eksekusi fungsi NetTimerCallback , asalkan interval batas waktu terakhir yang ditentukan belum kedaluwarsa.
Driver NDIS harus memanggil NdisCancelTimerObject terlebih dahulu ketika mereka menghentikan atau membongkar untuk memastikan bahwa fungsi NetTimerCallback tidak mencoba mengakses sumber daya yang telah dirilis driver.
Jika nilai bukan nol ditentukan dalam parameter MillisecondsPeriod dari fungsi NdisSetTimerObject , timer dikenal sebagai timer berkala. Jika nilai nol ditentukan dalam parameter MillisecondsPeriod , timer dikenal sebagai timer satu bidikan. Poin-poin berikut berlaku untuk membatalkan kedua jenis timer:
- Jika pemanggil NdisCancelTimerObject membatalkan timer berkala, pemanggil harus berjalan di IRQL = PASSIVE_LEVEL. Jika tidak, pemanggil NdisCancelTimerObject harus berjalan di IRQL <= DISPATCH_LEVEL.
-
Jika pemanggil NdisCancelTimerObject membatalkan timer berkala, NdisCancelTimerObject memanggil KeFlushQueuedDpcs untuk memastikan bahwa timer saat ini tidak berjalan. Oleh karena itu, pemanggil tidak diharuskan memiliki mekanisme sinkronisasi terpisah untuk memastikan bahwa timer saat ini tidak dijalankan pada prosesor lain.
Jika pemanggil NdisCancelTimerObject membatalkan timer satu bidikan, pemanggil diharuskan memiliki mekanisme sinkronisasi terpisah untuk memastikan timer saat ini tidak berjalan pada prosesor lain. Misalnya, pemanggil dapat memanggil NDIS_WAIT_FOR_MUTEX untuk menunggu utas timer memberi sinyal objek mutex saat utas akan selesai.
Untuk informasi selengkapnya, lihat Sinkronisasi dan Pemberitahuan di Driver Jaringan.
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 | Lihat bagian Keterangan |
Aturan kepatuhan DDI | Irql_Timer_Function(ndis), PeriodicTimer(ndis) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk