Objek dan Antarmuka VidPN

Manajer video present network (VidPN) menggunakan objek VidPN untuk mempertahankan informasi tentang hubungan antara sumber sajikan video, target sajikan video, dan mode tampilan. Untuk informasi selengkapnya, lihat topik Pengenalan Jaringan Sajikan Video .

Objek VidPN

Objek VidPN berisi sub-objek berikut.

  • Topologi

  • Set mode sumber

  • Set mode target

  • Memantau set mode sumber

  • Memantau kumpulan rentang frekuensi

  • Memantau set deskriptor

  • Jalur

  • Sumber

  • Target

  • Mode sumber

  • Mode target

  • Mode sumber monitor

Diagram berikut mengilustrasikan objek VidPN dan sub-objeknya.

Diagram yang mengilustrasikan objek VidPN dan berbagai sub-objeknya, termasuk topologi, set mode, dan jalur.

Diagram sebelumnya menggambarkan apakah asosiasi tertentu adalah satu-ke-satu, satu-ke-banyak, banyak-ke-satu, atau banyak-ke-banyak. Misalnya, diagram menunjukkan bahwa sumber dapat menjadi milik lebih dari satu jalur, tetapi target hanya dapat dimiliki oleh satu jalur.

Objek biru dalam diagram diakses melalui handel dan antarmuka, dan objek abu-abu diakses melalui penunjuk struktur. Antarmuka dalam konteks ini adalah struktur yang berisi penunjuk fungsi. Misalnya, struktur DXGK_VIDPNTOPOLOGY_INTERFACE berisi pointer ke fungsi (diimplementasikan oleh manajer VidPN) yang dipanggil driver miniport tampilan untuk memeriksa dan mengubah objek topologi. Ketika driver miniport tampilan memanggil salah satu fungsi tersebut, itu harus menyediakan handel ke objek topologi. Tabel berikut mencantumkan jenis data handel, antarmuka, dan penunjuk yang digunakan untuk mengakses objek VidPN dan sub-objeknya.

Object Metode akses dan jenis data
VidPN (Antarmuka VidPN) Diakses melalui handel dan antarmuka. D3DKMDT_HVIDPN, DXGK_VIDPN_INTERFACE
Topologi (Antarmuka Topologi VidPN) Diakses melalui handel dan antarmuka. D3DKMDT_HVIDPNTOPOLOGY, DXGK_VIDPNTOPOLOGY_INTERFACE
Set mode sumber (Antarmuka Set Mode Sumber VidPN) Diakses melalui handel dan antarmuka. D3DKMDT_HVIDPNSOURCEMODESET, DXGK_VIDPNSOURCEMODESET_INTERFACE
Set mode target (Antarmuka Set Mode Target VidPN) Diakses melalui handel dan antarmuka. D3DKMDT_HVIDPNTARGETMODESET, DXGK_VIDPNTARGETMODESET_INTERFACE
Memantau set mode sumber Diakses melalui handel dan antarmuka. D3DKMDT_HMONITORSOURCEMODESET, DXGK_MONITORSOURCEMODESET_INTERFACE
Jalur Diakses melalui penunjuk struktur. D3DKMDT_VIDPN_PRESENT_PATH
Source Diakses melalui penunjuk struktur. D3DKMDT_VIDEO_PRESENT_SOURCE
Target Diakses melalui penunjuk struktur. D3DKMDT_VIDEO_PRESENT_TARGET
Mode sumber Diakses melalui penunjuk struktur. D3DKMDT_VIDPN_SOURCE_MODE
Mode target Diakses melalui penunjuk struktur. D3DKMDT_VIDPN_TARGET_MODE
Mode sumber monitor Diakses melalui penunjuk struktur. D3DKMDT_MONITOR_SOURCE_MODE
Memantau kumpulan rentang frekuensi Diakses melalui penunjuk struktur. [DXGK_MONITORFREQUENCYRANGESET_INTERFACE
Memantau set deskriptor Diakses melalui penunjuk struktur. [DXGK_MONITORDESCRIPTORSET_INTERFACE

Manajer VidPN

Manajer VidPN, yang merupakan salah satu komponen subsistem kernel grafis DirectX, bekerja sama dengan driver miniport tampilan untuk membangun dan memelihara VIDPN. Langkah-langkah berikut menjelaskan bagaimana driver miniport tampilan mendapatkan handel dan antarmuka ke objek VidPN.

  1. Selama inisialisasi, subsistem kernel grafis DirectX memanggil fungsi DxgkDdiStartDevice driver miniport tampilan. Panggilan itu menyediakan driver miniport tampilan dengan struktur DXGKRNL_INTERFACE , yang berisi pointer ke fungsi yang diimplementasikan oleh subsistem kernel grafis DirectX. Salah satu fungsi tersebut adalah DxgkCbQueryVidPnInterface.

  2. Pada titik tertentu, manajer VidPN membutuhkan bantuan dari driver miniport tampilan, sehingga menyediakan driver miniport tampilan dengan handel ke objek VidPN dengan memanggil salah satu fungsi berikut:

  3. Driver miniport tampilan melewati handel yang diperoleh pada Langkah 2 ke DxgkCbQueryVidPnInterface, yang mengembalikan pointer ke struktur DXGK_VIDPN_INTERFACE .

Setelah driver miniport tampilan memiliki handel dan antarmuka ke objek VidPN, ia bisa mendapatkan handel dan antarmuka (sesuai kebutuhan) ke sub-objek utama: topologi, set mode sumber, set mode target, dan set mode sumber monitor. Misalnya, driver miniport tampilan dapat memanggil pfnGetTopology (salah satu fungsi di antarmuka VidPN) untuk mendapatkan handel ke objek topologi VidPN dan penunjuk ke struktur DXGK_VIDPNTOPOLOGY_INTERFACE .

Fungsi berikut (dalam antarmuka VidPN) menyediakan handel dan antarmuka ke sub-objek utama objek VidPN.

Perhatikan bahwa dua fungsi dalam daftar sebelumnya memiliki fungsi terkait yang merilis sub-objek VidPN.

Setelah driver miniport tampilan mendapatkan handel dan antarmuka ke salah satu sub-objek utama VidPNs, ia dapat memanggil fungsi antarmuka untuk mendapatkan deskriptor objek yang terkait dengan sub-objek. Misalnya, mengingat handel dan antarmuka ke objek topologi, driver miniport tampilan dapat melakukan langkah-langkah berikut untuk mendapatkan deskriptor dari semua jalur dalam topologi.

  1. Antarmuka Topologi VidPN

    Panggil fungsi pfnAcquireFirstPathInfo dari antarmuka topologi VidPN untuk mendapatkan penunjuk ke struktur D3DKMDT_VIDPN_PRESENT_PATH yang menjelaskan jalur pertama dalam topologi.

  2. Antarmuka Topologi VidPN

    Panggil fungsi pfnAcquireNextPathInfo berulang kali untuk mendapatkan pointer ke struktur D3DKMDT_VIDPN_PRESENT_PATH yang menjelaskan jalur yang tersisa dalam topologi.

Demikian pula, driver miniport tampilan bisa mendapatkan deskriptor mode dalam mode yang diatur dengan memanggil fungsi pfnAcquireFirstModeInfo dan pfnAcquireNextModeInfo dari salah satu antarmuka set mode berikut.

Perhatikan bahwa antarmuka DXGK_VIDPNSOURCEMODESET_INTERFACE tidak memiliki fungsi untuk menghapus mode dari set mode sumber. Ketika driver miniport tampilan perlu memperbarui set mode sumber, itu tidak mengubah mode yang ada yang diatur dengan menambahkan dan menghapus mode. Sebaliknya, ini membuat set mode baru yang menggantikan set mode lama. Contoh fungsi yang harus memperbarui set mode adalah fungsi DxgkDdiEnumVidPnCofuncModality driver miniport tampilan. Langkah-langkah yang terlibat dalam memperbarui set mode sumber adalah sebagai berikut:

  1. Panggil pfnCreateNewModeInfo dari antarmuka DXGK_VIDPNSOURCEMODESET_INTERFACE untuk mendapatkan penunjuk ke struktur D3DKMDT_VIDPN_SOURCE_MODE (dialokasikan oleh manajer VidPN).

    Panggil pfnAddMode berulang kali untuk menambahkan mode ke set mode sumber.

  2. Panggil fungsi pfnAssignSourceModeSet dari DXGK_VIDPN_INTERFACE untuk menetapkan mode baru yang diatur ke sumber sajikan video tertentu. Set mode sumber baru menggantikan set mode sumber yang saat ini ditetapkan ke sumber tersebut.

Memperbarui set mode target mirip dengan memperbarui set mode sumber. Antarmuka DXGK_VIDPNTARGETMODESET_INTERFACE memiliki fungsi berikut:

Tidak ada antarmuka (set fungsi) untuk mendapatkan sumber dan target yang termasuk dalam jalur tertentu. Driver miniport tampilan dapat menentukan sumber dan target mana yang termasuk dalam jalur tertentu dengan memeriksa anggota VidPnSourceId dan VidPnTargetId dari struktur D3DKMDT_VIDPN_PRESENT_PATH yang mewakili jalur.

Lihat juga

Menentukan Apakah VidPN Didukung pada Adaptor Tampilan

Menghitung Mode Sumber dan Target VidPN Kofungsi

Terminologi Jaringan Sajikan Video

Mendapatkan Mode Target Monitor Tambahan