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
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