Bagikan melalui


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

Lihat juga

IRP_MJ_CREATE

KSDATAFORMAT

KSDATARANGE

KSMULTIPLE_ITEM

KSPIN

KSPIN_DISPATCH