Fungsi panggilan balik PFNKSPINSETDATAFORMAT (ks.h)
Rutinitas AVStrMiniPinSetDataFormat AVStream minidriver dipanggil pada waktu pembuatan pin untuk memverifikasi bahwa format data yang disepakati sebelumnya dapat diterima untuk struktur KSPIN ini dan kecocokan untuk struktur KSDATARANGE ini. Rutinitas ini juga dipanggil karena jenis perubahan format dinamis tertentu, misalnya penerimaan permintaan properti KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT .
Sintaks
PFNKSPINSETDATAFORMAT Pfnkspinsetdataformat;
NTSTATUS Pfnkspinsetdataformat(
[in] PKSPIN Pin,
[in, optional] PKSDATAFORMAT OldFormat,
[in, optional] PKSMULTIPLE_ITEM OldAttributeList,
[in] const KSDATARANGE *DataRange,
[in, optional] const KSATTRIBUTE_LIST *AttributeRange
)
{...}
Parameter
[in] Pin
Penunjuk ke struktur KSPIN yang format datanya berubah.
[in, optional] OldFormat
Opsional. Penunjuk ke struktur KSDATAFORMAT . Minidriver dapat menggunakan bidang ini untuk menentukan format data yang digunakan pin sebelum panggilan ini. Jika NULL, menunjukkan bahwa tidak ada format data yang diatur untuk pin dan pengiriman buat Pin belum dibuat. Nilai NULL di sini menunjukkan bahwa rutinitas ini dipanggil pada waktu inisialisasi untuk verifikasi format.
[in, optional] OldAttributeList
Pilihan. Penunjuk ke struktur KSMULTIPLE_ITEM yang menyimpan atribut untuk format sebelumnya.
[in] DataRange
Penunjuk ke struktur KSDATARANGE . Rentang data untuk format baru.
[in, optional] AttributeRange
Pilihan. Rentang atribut untuk format baru.
Mengembalikan nilai
Kembalikan STATUS_SUCCESS jika anggota ConnectionFormatPin cocok dengan rentang yang diteruskan ke rutinitas ini. Kembalikan STATUS_NO_MATCH jika ConnectionFormat tidak cocok dengan rentang yang diteruskan dan minidriver ingin terus mencoba menemukan kecocokan dengan rentang lain. Mengembalikan kode kesalahan pilihan jika ConnectionFormat tidak cocok dengan rentang yang diteruskan dan minidriver tidak ingin terus mencoba menemukan kecocokan dengan rentang lain. Jangan kembali STATUS_PENDING.
Keterangan
Dalam grafik ring 3, modul Proksi Streaming Kernel (KsProxy) mengatur format data berdasarkan format koneksi yang disepakati atau perubahan format dinamis. KsProxy mengeluarkan permintaan KSPROPERTY_CONNECTION_DATAFORMAT yang, setelah beberapa validasi awal, diterjemahkan ke dalam panggilan pengiriman ini ke minidriver. Lihat Proksi Streaming Kernel. Untuk informasi selengkapnya, lihat Format Data KS dan Rentang Data dan Persimpangan DataRange di AVStream.
Minidriver menentukan alamat untuk AVStrMiniPinSetDataFormat di anggota SetDataFormat dari struktur KSPIN_DISPATCH-nya .
Rutinitas ini dapat dipanggil sebelum pin menerima IRP_MJ_CREATE, dan minidriver harus siap untuk menangani situasi ini.
OldFormat, OldAttributeList, dan AttributeRange semuanya merupakan parameter opsional dan dapat berupa NULL.
Rutinitas ini bersifat opsional.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru serta DirectX 8.0 dan versi DirectX yang lebih baru. |
Target Platform | Desktop |
Header | ks.h (termasuk Ks.h) |
IRQL | PASSIVE_LEVEL |