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 .
Driver miniport biasanya memanggil 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

IMXF::P utMessage

IMiniportDMus::Init

IMiniportDMus::NewStream

IPortDMus

IPortDMus::RegisterServiceGroup

IServiceGroup