HW_TIMER fungsi panggilan balik (storport.h)

Rutinitas HwStorTimer dipanggil setelah interval yang ditentukan ketika driver miniport yang disebut StorPortNotification dengan RequestTimerCall ditentukan untuk parameter NotificationType .

Sintaks

HW_TIMER HwTimer;

void HwTimer(
  PVOID DeviceExtension
)
{...}

Parameter

DeviceExtension

Penunjuk ke area penyimpanan driver miniport per HBA.

Nilai kembali

Tidak ada

Keterangan

Nama HwStorTimer hanyalah tempat penampung. Prototipe aktual dari rutinitas ini didefinisikan dalam Srb.h sebagai berikut:

typedef
VOID
HW_TIMER (
  _In_ PVOID  DeviceExtension
  );

Jika miniport memilih dukungan multi-saluran, kunci putar StartIo masih diambil. Namun, jika miniport telah meminta dukungan beberapa saluran melalui PERF_CONFIGURATION_DATA, kunci putar StartIo tidak diambil atau diperiksa sebelum panggilan ke HwStorStartIo di miniport. Ini berarti bahwa panggilan balik HwStorStartIo tidak disinkronkan dengan panggilan balik ke rutinitas HwStorTimer saat dukungan multi-saluran digunakan. Miniport harus melakukan ini sendiri dengan menggunakan intrinsik yang saling di-compiler, misalnya menggunakan InterlockedCompareExchange.

Rutinitas HwStorTimer bersifat opsional.

Untuk menentukan fungsi panggilan balik HwStorTimer , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi panggilan balik yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi panggilan balik untuk driver. 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 HwStorTimer yang bernama MyHwTimer, gunakan jenis HW_TIMER berikut dan terapkan rutinitas panggilan balik Anda sebagai berikut:

HW_TIMER MyHwTimer;

_Use_decl_annotations_
VOID
MyHwTimer (
  _In_ PVOID  DeviceExtension
  );
  {
      ...
  }

Jenis fungsi HW_TIMER didefinisikan dalam file header Storport.h. Untuk mengidentifikasi kesalahan secara 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 HW_TIMER dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi Menggunakan Jenis Peran Fungsi untuk Driver Storport. Untuk informasi tentang Use_decl_annotations, lihat Perilaku Fungsi Anotasi.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header storport.h (termasuk Storport.h)
IRQL DISPATCH_LEVEL

Lihat juga

StorPortNotification