HW_PASSIVE_INITIALIZE_ROUTINE fungsi panggilan balik (storport.h)

Rutinitas panggilan balik HwStorPassiveInitializeRoutine dipanggil setelah rutinitas HwStorInitialize ketika IRQL saat ini berada di PASSIVE_LEVEL. Panggilan balik HwStorPassiveInitializeRoutine diatur dengan memanggil rutinitas StorPortEnablePassiveInitialization . Inisialisasi panggilan prosedur yang ditangguhkan (DPC) miniport terjadi di panggilan balik HwStorPassiveInitializeRoutine .

Sintaks

HW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitializeRoutine;

BOOLEAN HwPassiveInitializeRoutine(
  PVOID DeviceExtension
)
{...}

Parameter

DeviceExtension

Nilai kembali

Rutinitas HwStorPassiveInitializeRoutine mengembalikan TRUE jika miniport berhasil menginisialisasi pemrosesan DPC, atau FALSE jika proses inisialisasi gagal.

Keterangan

Rutinitas HwStorPassiveInitializeRoutine harus menginisialisasi DPC apa pun yang akan digunakan driver miniport. Driver port memanggil HwStorPassiveInitializeRoutine pada PASSIVE_LEVEL tanpa kunci putaran ditahan. Gangguan diaktifkan saat rutinitas ini dipanggil.

Nama HwStorPassiveInitializeRoutine hanyalah tempat penampung. Prototipe aktual untuk rutinitas panggilan balik ini didefinisikan dalam Storport.h sebagai berikut:

typedef
BOOLEAN
(*PHW_PASSIVE_INITIALIZE_ROUTINE) (
  _In_ PVOID DeviceExtension
  );

Driver port memanggil rutinitas HwStorPassiveInitializeRoutine di PASSIVE IRQL tanpa memperoleh kunci putaran apa pun.

Contoh

Untuk menentukan fungsi panggilan balik HwStorPassiveInitializeRoutine , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi 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 HwStorPassiveInitializeRoutine yang diberi nama MyHwPassiveInitialize, gunakan jenis HW_PASSIVE_INITIALIZE_ROUTINE seperti yang ditunjukkan dalam contoh kode ini:

HW_PASSIVE_INITIALIZE_ROUTINE MyHwPassiveInitialize;

Kemudian, terapkan rutinitas panggilan balik Anda sebagai berikut:

_Use_decl_annotations_
BOOLEAN
MyHwPassiveInitialize (
  _In_ PVOID  DeviceExtension
  );
  {
      ...
  }

Jenis fungsi HW_PASSIVE_INITIALIZE_ROUTINE ditentukan 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_PASSIVE_INITIALIZE_ROUTINE 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 PASSIVE_LEVEL (Lihat bagian Keterangan.)

Lihat juga

HwStorInitialize

StorPortEnablePassiveInitialization