Bagikan melalui


struktur KSTOPOLOGY_CONNECTION (ks.h)

Struktur KSTOPOLOGY_CONNECTION menjelaskan koneksi jalur data tunggal di dalam filter streaming kernel.

PCCONNECTION_DESCRIPTOR adalah alias untuk KSTOPOLOGY_CONNECTION.

Sintaks

typedef struct {
  ULONG FromNode;
  ULONG FromNodePin;
  ULONG ToNode;
  ULONG ToNodePin;
} KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION;

Anggota

FromNode

Menentukan ID simpul simpul di akhir hulu koneksi. Jika akhir koneksi ini adalah pin eksternal pada filter, bukan pin logis pada simpul, m mengatur anggota ini ke nilai node-ID null, KSFILTER_NODE.

FromNodePin

Menentukan ID pin untuk akhir hulu koneksi. Jika **FromNode **KSFILTER_NODE, pin di akhir koneksi ini adalah pin eksternal pada filter. Jika tidak, pin di ujung ini adalah pin logis pada simpul internal.

ToNode

Menentukan ID simpul simpul di akhir hilir koneksi. Jika akhir koneksi ini adalah pin eksternal pada filter, bukan pin logis pada simpul, atur anggota ini ke nilai node-ID null, KSFILTER_NODE.

ToNodePin

Menentukan ID pin untuk akhir hilir koneksi. Jika ToNode KSFILTER_NODE, pin di akhir koneksi ini adalah pin eksternal pada filter. Jika tidak, pin di ujung ini adalah pin logis pada simpul internal.

Keterangan

KSTOPOLOGY_CONNECTION mewakili koneksi tunggal di dalam filter, antara pin eksternal, simpul internal, atau pin eksternal dan simpul internal.

Driver streaming mengembalikan array struktur KSTOPOLOGY_CONNECTION sebagai respons terhadap permintaan get-property KSPROPERTY_TOPOLOGY_CONNECTIONS .

Saat mewakili koneksi antara dua pin eksternal, baik FromNode dan ToNode harus diatur ke KSFILTER_NODE, dan FromNodePin dan ToNodePin harus menjadi ID jenis pin dari masing-masing pin. Lihat KSPROPSETID_Pin untuk deskripsi ID jenis pin.

Jika tidak, FromNodePin atau ToNodePin mewakili pin masuk atau keluar logis untuk koneksi. Nomor pin logis hanya digunakan untuk menggambarkan koneksi antar simpul; mereka tidak memiliki keberadaan di luar properti KSPROPERTY_TOPOLOGY_CONNECTIONS.

PCCONNECTION_DESCRIPTOR

Nama struktur PCCONNECTION_DESCRIPTOR adalah alias untuk KSTOPOLOGY_CONNECTION. PCCONNECTION_DESCRIPTOR untuk IMiniport::GetDescription() adalah deskripsi koneksi node dalam topologi filter yang diterapkan oleh miniport. Ini didefinisikan sebagai berikut di header portcls.h:

typedef KSTOPOLOGY_CONNECTION PCCONNECTION_DESCRIPTOR, *PPCCONNECTION_DESCRIPTOR;

Perhatikan bahwa untuk deskripsi parameter, PCFILTER_NODE digunakan dengan PCCONNECTION_DESCRIPTOR alih-alih KSFILTER_NODE.

Struktur PCCONNECTION_DESCRIPTOR menentukan satu koneksi di dalam filter. Koneksi dapat berupa salah satu hal berikut:

  • Koneksi antara dua simpul internal

  • Koneksi antara simpul internal dan pin pada filter

  • Koneksi antara dua pin pada filter

Jenis koneksi terakhir terjadi ketika pin input pada filter mengalirkan data langsung ke pin output pada filter yang sama.

Driver adaptor menggunakan array struktur untuk menentukan topologi internal filter.

Aliran data mengalir dari ujung FromNode ke akhir ToNode koneksi.

Untuk menggunakan struktur PCCONNECTION_DESCRIPTOR , penulis driver menetapkan pin "logis" ke simpul di dalam filter. "Pin" ini adalah titik koneksi pada simpul dan dianalogikan dengan pin eksternal yang digunakan filter untuk terhubung ke filter lain. Namun, pin logis pada simpul hanya digunakan untuk menentukan koneksi di dalam filter.

Simpul sederhana dengan satu input dan satu output biasanya menjumlahkan pin input dan outputnya masing-masing satu dan nol. Berdasarkan konvensi, penomoran ini didasarkan pada arah aliran IRP daripada aliran data.

Simpul yang lebih kompleks mungkin memerlukan ID pin standar untuk memungkinkan klien menentukan penetapan fungsi dengan lebih mudah ke pin tertentu. Misalnya, simpul KSNODETYPE_ACOUSTIC_ECHO_CANCEL menggunakan ID standar untuk empat pinnya.

Ketika pin di salah satu ujung koneksi adalah pin input atau output pada filter daripada pin logis pada node, atur anggota FromNode atau ToNode (tergantung pada akhir koneksi mana yang Anda tentukan) ke nilai node-ID null, PCFILTER_NODE.

Hindari pin logis yang membingungkan, yang hanya digunakan untuk menjelaskan titik koneksi pada simpul dalam filter, dengan pin eksternal yang digunakan filter untuk menyambungkan ke filter lain. Pin logis jarang digunakan di luar struktur PCCONNECTION_DESCRIPTOR . Dalam dokumen ini, istilah pin mengacu pada pin pada filter KS daripada pin logis pada simpul kecuali disebutkan sebaliknya.

Metode IMiniport::GetDescription menghasilkan struktur PCFILTER_DESCRIPTOR yang berisi penunjuk ke array PCCONNECTION_DESCRIPTOR .

Untuk contoh kode sederhana yang menunjukkan bagaimana struktur PCCONNECTION_DESCRIPTOR digunakan, lihat Mengekspos Topologi Filter.

Persyaratan

Persyaratan Nilai
Header ks.h (termasuk Ks.h)

Lihat juga

BdaPropertyTemplateConnections

KSPROPERTY_TOPOLOGY_CONNECTIONS

KSPROPSETID_Pin

KSPROPSETID_Topology