Bagikan melalui


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)

Lihat juga

IoMarkIrpPending

KSPIN_DISPATCH

KsCompletePendingRequest