EXT_DELETE_CALLBACK fungsi panggilan balik (wdm.h)

Rutinitas panggilan balik ExTimerDeleteCallback berjalan saat sistem operasi menghapus objek timer EX_TIMER.

Sintaksis

C++
EXT_DELETE_CALLBACK ExtDeleteCallback;

void ExtDeleteCallback(
  [in, optional] PVOID Context
)
{...}

Parameter

[in, optional] Context

Nilai konteks dari DeleteContext anggota struktur EXT_DELETE_PARAMETERS yang sebelumnya diteruskan driver Anda sebagai parameter input ke rutinitas ExDeleteTimer.

Mengembalikan nilai

Tidak

Komentar

Sebagai opsi, driver Anda dapat menyediakan pointer ke rutinitas ExTimerDeleteCallback dalam DeleteCallback anggota struktur EXT_DELETE_PARAMETERS yang diteruskan driver Anda sebagai parameter input ke ExDeleteTimer rutin. Rutinitas ExTimerDeleteCallback dapat membebaskan penyimpanan atau sumber daya sistem lain yang sebelumnya dialokasikan driver untuk digunakan dengan objek timer yang sedang dihapus.

Jika driver menyediakan rutinitas ExTimerDeleteCallback, dan parameter Tunggu dalam panggilan ExDeleteRoutineTRUE, ExTimerDeleteCallback rutin berjalan sebelum ExDeleteTimer kembali. Jika tidak, rutinitas ExTimerDeleteCallback mungkin berjalan sebelum atau sesudah panggilan exDeleteTimer kembali. Rutinitas ExTimerDeleteCallback hanya dipanggil setelah objek timer dinonaktifkan untuk mencegah operasi timer lebih lanjut dan operasi timer yang tertunda pada objek timer dibatalkan atau selesai. Objek timer (struktur EX_TIMER) yang diteruskan driver sebagai parameter input ke rutinitas ExDeleteTimer mungkin tidak lagi valid pada saat ExTimerDeleteCallback rutin berjalan.

Untuk informasi selengkapnya, lihat Rutinitas ExXxxTimer dan Objek EX_TIMER.

Contoh

Untuk menentukan rutinitas panggilan balik ExTimerDeleteCallback, Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis rutinitas panggilan balik yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi panggilan balik untuk pengandar. Mendeklarasikan fungsi menggunakan jenis fungsi panggilan balik 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 rutinitas panggilan balik ExTimerDeleteCallback yang diberi nama MyExTimerDeleteCallback, gunakan jenis fungsi EXT_DELETE_CALLBACK, seperti yang ditunjukkan dalam contoh kode ini:

C++
EXT_DELETE_CALLBACK  MyExTimerDeleteCallback;

Kemudian, terapkan rutinitas panggilan balik Anda sebagai berikut:

C++
_Use_decl_annotations_
VOID
  MyExTimerDeleteCallback(
    PVOID  Context
    )
  {...}

Jenis fungsi EXT_DELETE_CALLBACK ditentukan dalam file header Wdm.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 EXT_DELETE_CALLBACK dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi Menggunakan Jenis Peran Fungsi untuk Driver WDM. Untuk informasi selengkapnya tentang _Use_decl_annotations_, lihat Anotasi Perilaku Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Tersedia dimulai dengan Windows 8.1.
Platform Target Desktop
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
IRQL Dipanggil di DISPATCH_LEVEL.

Lihat juga

EXT_DELETE_PARAMETERS

EX_TIMER

ExDeleteTimer