Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi panggilan balik NdisTimerFunction dipanggil oleh NDIS setelah driver menetapkan timer satu bidikan atau berkala saat timer diaktifkan.
Sintaksis
NDIS_TIMER_FUNCTION NdisTimerFunction;
VOID NdisTimerFunction(
[in] PVOID SystemSpecific1,
[in] PVOID FunctionContext,
[in] PVOID SystemSpecific2,
[in] PVOID SystemSpecific3
)
{...}
Parameter
[in] SystemSpecific1
Penunjuk ke nilai khusus sistem yang dicadangkan untuk penggunaan sistem.
[in] FunctionContext
Penunjuk ke area konteks yang disediakan driver yang diteruskan driver ke fungsi NdisSetTimerObject. Jika parameter FunctionContext NdisSetTimerObjectNULL, NDIS menggunakan nilai default yang ditentukan driver dalam NDIS_TIMER_CHARACTERISTICS struktur. Driver meneruskan struktur ke fungsi NdisAllocateTimerObject untuk menginisialisasi objek timer terkait.
[in] SystemSpecific2
Penunjuk ke nilai khusus sistem yang dicadangkan untuk penggunaan sistem.
[in] SystemSpecific3
Penunjuk ke nilai khusus sistem yang dicadangkan untuk penggunaan sistem.
Mengembalikan nilai
Tidak
Komentar
Setiap driver NDIS dapat memiliki satu atau beberapa fungsi panggilan balik NdisTimerFunction. Setiap panggilan balik NdisTimerFunction tersebut harus dikaitkan dengan objek timer yang dialokasikan driver dan diinisialisasi yang berbeda.
Driver menginisialisasi objek timer yang dialokasikan driver dengan memanggil fungsi NdisAllocateTimerObject.
Panggilan berikutnya ke fungsi NdisSetTimerObject menyebabkan panggilan balik NdisTimerFunction yang terkait dengan objek timer yang akan dijalankan setelah interval tertentu atau secara berkala.
Untuk membatalkan panggilan ke NdisTimerFunction, panggil fungsi NdisCancelTimerObject. NDIS mungkin masih memanggil NdisTimerFunction jika batas waktu telah kedaluwarsa sebelum panggilan ke NdisCancelTimerObject.
Jika panggilan balik NdisTimerFunction berbagi sumber daya dengan fungsi driver lain, driver harus menyinkronkan akses ke sumber daya tersebut dengan kunci putar.
Contoh
Untuk menentukan fungsi NdisTimerFunction, Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi untuk pengandar. Mendeklarasikan fungsi menggunakan jenis fungsi membantu Analisis Kode untuk Driver, Pemverifikasi Driver Statis (SDV), dan alat verifikasi lainnya menemukan kesalahan, dan itu adalah persyaratan untuk menulis driver untuk sistem operasi Windows.Misalnya, untuk menentukan fungsi NdisTimerFunction yang diberi nama "MyTimerCallback", gunakan jenis NDIS_TIMER_FUNCTION seperti yang ditunjukkan dalam contoh kode ini:
NDIS_TIMER_FUNCTION MyTimerCallback;
Kemudian, terapkan fungsi Anda sebagai berikut:
_Use_decl_annotations_
VOID
MyTimerCallback(
PVOID SystemSpecific1,
PVOID FunctionContext,
PVOID SystemSpecific2,
PVOID SystemSpecific3
)
{...}
Jenis fungsi NDIS_TIMER_FUNCTION ditentukan dalam file header Ndis.h. Untuk mengidentifikasi kesalahan dengan lebih akurat saat Anda menjalankan alat analisis kode, pastikan untuk menambahkan anotasi Use_decl_annotations ke definisi fungsi Anda. Anotasi Use_decl_annotations memastikan bahwa anotasi yang diterapkan ke jenis fungsi NDIS_TIMER_FUNCTION dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi dengan Menggunakan Jenis Peran Fungsi untuk Driver NDIS.
Untuk informasi tentang Use_decl_annotations, lihat Anotasi Perilaku Fungsi.
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Didukung di NDIS 6.0 dan yang lebih baru. |
| Platform Target | Windows |
| Header | ndis.h (termasuk Ndis.h) |
| IRQL | DISPATCH_LEVEL |
Lihat juga
pengaturan dan menghapus timer