IPortDMus::Beri tahu metode (dmusicks.h)
Metode Notify
ini harus dipanggil dari rutinitas layanan interupsi (ISR) driver miniport ketika gangguan perangkat keras telah terjadi. Panggilan ini meminta agar driver port memanggil kembali driver miniport dengan panggilan prosedur yang ditangguhkan (DPC) saat driver miniport menangani gangguan.
Sintaks
void Notify(
[in, optional] PSERVICEGROUP ServiceGroup
);
Parameter
[in, optional] ServiceGroup
Penunjuk ke objek IServiceGroup . Parameter ini bersifat opsional dan dapat ditentukan sebagai NULL. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
Nilai kembali
Tidak ada
Keterangan
Metode mengirimkan Notify
pemberitahuan ke grup layanan driver miniport:
-
Jika parameter pServiceGroupnon-NULL,
Notify
metode memanggil metode RequestService pada objek IServiceGroup yang dirujuk parameter ini. - Jika pServiceGroupADALAH NULL:
- Metode ini
Notify
memanggil metode RequestService pada objek IServiceGroup driver miniport. Ini adalah objek IServiceGroup yang dihasilkan driver miniport selama panggilan IMiniportDMus::Init . Driver miniport juga mungkin telah mendaftarkan objek ini lebih awal (yaitu, lebih awal dari pengembalian dari Init) dengan memanggil IPortDMus::RegisterServiceGroup. - Metode ini
Notify
juga memanggil metode RequestService pada objek IServiceGroup milik masing-masing aliran driver miniport. Ini adalah objek IServiceGroup yang dihasilkan metode IMiniportDMus::NewStream .
- Metode ini
Notify
untuk memberi tahu driver port bahwa perangkat audio telah menghasilkan gangguan perangkat keras. Ketika sinyal interupsi, misalnya, bahwa beberapa register perlu dibaca, ISR driver miniport tidak dapat mengakses grafik MXF (filter transformasi MIDI) di IRQL yang ditinggikan. Sebagai gantinya, driver miniport dapat menyimpan data input (byte data MIDI, misalnya) dari register, memanggil Notify
, dan menunggu driver port untuk kembali ke sana dengan DPC.
Ketika ISR driver miniport memanggil Notify
, driver port menerima pemberitahuan di perangkat keras yang ditinggikan mengganggu IRQL dan menempatkan DPC pada antrean. Ketika IRQL turun ke DISPATCH_LEVEL, DPC driver port menembak dan melayani driver miniport.
Dalam DPC, driver port memanggil IMXF::P utMessage pada aliran input driver miniport dengan parameter NULL untuk menandakan bahwa driver miniport sekarang dapat memasukkan pesan MIDI yang disimpan sebelumnya ke grafik MXF karena IRQL telah turun kembali ke DISPATCH_LEVEL.
Metode ini sangat penting untuk waktu yang akurat. Sebagian besar miniport akan memanggil metode ini sebagai respons terhadap gangguan pemberitahuan setelah membersihkan sumber interupsi. Meskipun driver miniport bebas menggunakan metode lain untuk menentukan kapan harus memanggil metode ini, waktu yang tepat penting dan harus dipertahankan.
Saat driver adaptor menginstal ISR, driver adaptor mengirimkan parameter ServiceContext bersama dengan titik masuk ISR (untuk detailnya, lihat Memberikan Informasi Konteks ISR). Ketika gangguan terjadi, sistem operasi memanggil ISR dan meneruskan ServiceContext sebagai parameter panggilan ke ISR. Meskipun makna parameter ServiceContext hanya diketahui oleh pengembang driver, biasanya merupakan penunjuk ke objek miniport. ISR menggunakan pointer ini untuk mengakses informasi tentang objek miniport.
Parameter pServiceGroup mengikuti konvensi penghitungan referensi untuk objek COM.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | dmusicks.h (termasuk Dmusicks.h) |
IRQL | Tingkat apa pun |
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