Fungsi panggilan balik PFNKSPINIRP (ks.h)
Rutinitas minidriver AVStream dipanggil ketika aktivitas pada pin dilakukan dan menerima IRP ini:
Sintaksis
PFNKSPINIRP Pfnkspinirp;
NTSTATUS Pfnkspinirp(
[in] PKSPIN Pin,
[in] PIRP Irp
)
{...}
Parameter
[in] Pin
Arahkan ke KSPIN yang baru saja dibuat.
[in] Irp
Arahkan ke IRP untuk pin.
Mengembalikan nilai
Jika rutinitas berhasil, operasi dijamin berhasil. Mengembalikan STATUS_SUCCESS atau STATUS_PENDING.
Komentar
IRP | Deskripsi |
---|---|
IRP_MJ_CREATE | Biasanya, rutinitas ini digunakan oleh minidriver yang ingin menginisialisasi konteks dan sumber daya yang terkait dengan pin. Minidriver menentukan alamat rutin ini di Membuat anggota struktur KSPIN_DISPATCH. Rutinitas ini dipanggil ketika pin dibuat. Pada titik di mana rutinitas ini dipanggil, objek file memiliki konteks terkait, dan header objek KS telah dialokasikan. Biasanya, fungsi ini akan disediakan oleh minidriver yang ingin menginisialisasi konteks dan sumber daya yang terkait dengan pin. Mutex kontrol filter ditahan saat berada dalam fungsi ini. Fungsi akan dipanggil di IRQL = PASSIVE_LEVEL. Rutinitas ini bersifat opsional. Jika rutinitas berhasil, operasi buat dijamin berhasil. Mengembalikan STATUS_SUCCESS atau STATUS_PENDING. Jika minidriver mengembalikan STATUS_PENDING, AVStream tidak akan segera menyelesaikan IRP_MJ_CREATE. Namun, sebelum mengembalikan STATUS_PENDING, minidriver harus memanggil IoMarkIrpPending. Setelah pemrosesan pembuatan selesai, minidriver harus mengatur kode status IRP lalu memanggil KsCompletePendingRequest. |
IRP_MJ_CLOSE | Minidriver menentukan alamat rutin ini di Tutup anggota struktur KSPIN_DISPATCH-nya. Pada titik di mana rutinitas dipanggil, setiap peristiwa terdaftar pada pin telah dibebesarkan, tetapi objek tersebut utuh. Mutex kontrol filter ditahan saat berada dalam fungsi ini. Untuk informasi selengkapnya tentang mutex, silakan lihat Mutexes di AVStream. Rutinitas ini bersifat opsional. |
Persyaratan
Syarat | Nilai |
---|---|
Platform Target | Desktop |
Header | ks.h (termasuk Ks.h) |
IRQL | PASSIVE_LEVEL (Lihat bagian Keterangan) |