共用方式為


VidPN 物件和介面

視訊呈現網路 (VidPN) 管理員會使用 VidPN 物件來維護視訊呈現來源、視訊呈現目標和顯示模式之間關聯的相關資訊。 如需詳細資訊,請參閱 視訊呈現網路簡介 主題。

VidPN 物件

VidPN 物件包含下列子物件。

  • 拓撲學

  • 來源模式設定

  • 目標模式設定

  • 監視來源模式設定

  • 監聽頻率範圍設定

  • 監視器描述子集

  • 路徑

  • 來源

  • 標的

  • 來源模式

  • 目標模式

  • 監視來源模式

下圖說明 VidPN 物件及其子物件。

說明 VidPN 物件及其各種子物件的圖表,包括拓撲、模式集和路徑。

前面的圖表展示特定關聯是一對一、一對多、多對一或多對多。 例如,此圖顯示來源可以屬於多個路徑,但目標只能屬於一個路徑。

圖表中的藍色物件是透過控點和介面存取的,灰色物件是透過結構指標存取的。 此內容中的介面是包含函式指標的結構。 例如, DXGK_VIDPNTOPOLOGY_INTERFACE 結構包含顯示迷你埠驅動程式呼叫的函式指標 (由 VidPN 管理員實作) ,以檢查和變更拓撲物件。 當顯示迷你埠驅動程式呼叫其中任何一個函式時,它必須提供拓撲物件的控制碼。 下表列出用來存取 VidPN 物件及其子物件的控制碼、介面和指標資料類型。

物體 存取方式和資料類型
VidPN(VidPN 接口) 通過手柄和界面訪問。 D3DKMDT_HVIDPN、 DXGK_VIDPN_INTERFACE
拓撲 (VidPN 拓撲介面) 通過手柄和界面訪問。 D3DKMDT_HVIDPNTOPOLOGY、 DXGK_VIDPNTOPOLOGY_INTERFACE
來源模式集 (VidPN 來源模式集介面) 通過手柄和界面訪問。 D3DKMDT_HVIDPNSOURCEMODESET、 DXGK_VIDPNSOURCEMODESET_INTERFACE
設定目標模式(VidPN 目標模式設定介面) 通過控制柄和介面存取。 D3DKMDT_HVIDPNTARGETMODESET,DXGK_VIDPNTARGETMODESET_INTERFACE
設定監控來源模式 通過手柄和界面訪問。 D3DKMDT_HMONITORSOURCEMODESET、 DXGK_MONITORSOURCEMODESET_INTERFACE
路徑 透過結構指標存取。 D3DKMDT_VIDPN_PRESENT_PATH
來源 透過結構指標存取。 D3DKMDT_VIDEO_PRESENT_SOURCE
標的 透過結構指標存取。 D3DKMDT_VIDEO_PRESENT_TARGET
來源模式 透過結構指標存取。 D3DKMDT_VIDPN_SOURCE_MODE
目標模式 透過結構指標存取。 D3DKMDT_VIDPN_TARGET_MODE
監視來源模式 透過結構指標存取。 D3DKMDT_MONITOR_SOURCE_MODE
監聽頻率範圍設定 透過結構指標存取。 [DXGK_MONITORFREQUENCYRANGESET_INTERFACE
監視器描述子集 透過結構指標存取。 [DXGK_MONITORDESCRIPTORSET_INTERFACE

VidPN 管理器

VidPN 管理員是 DirectX 圖形核心子系統的其中一個元件,會與顯示迷你埠驅動程式合作,以建置和維護 VidPN。 下列步驟描述顯示迷你埠驅動程式如何取得 VidPN 物件的控制碼和介面。

  1. 在初始化期間,DirectX 圖形核心子系統會呼叫顯示迷你埠驅動程式的 DxgkDdiStartDevice 函式。 該呼叫會為顯示迷你埠驅動程式提供 DXGKRNL_INTERFACE 結構,其中包含 DirectX 圖形核心子系統所實作函式的指標。 其中一個函式是 DxgkCbQueryVidPnInterface

  2. 在某些時候,VidPN 管理員需要顯示迷你埠驅動程式的協助,因此它會呼叫下列其中一個函式,為顯示迷你埠驅動程式提供 VidPN 物件的控制碼:

  3. 顯示微型埠驅動程式會將步驟 2 中取得的控制碼傳遞至 DxgkCbQueryVidPnInterface,以返回 DXGK_VIDPN_INTERFACE 結構的指標。

顯示迷你埠驅動程式取得 VidPN 物件的控制碼和介面之後,可以根據需求取得主要子物件(包括拓撲、來源模式集、目標模式集和監視來源模式集)的控制碼和介面。 例如,顯示迷你埠驅動程式可以呼叫 pfnGetTopology (VidPN 介面中的其中一個函式) ,以取得 VidPN 拓撲物件的控制碼,以及 DXGK_VIDPNTOPOLOGY_INTERFACE 結構的指標。

下列函式 (在 VidPN 介面中) 提供 VidPN 物件主要子物件的控制碼和介面。

請注意,上述清單中的兩個函式具有釋放 VidPN 子物件的對應函式。

顯示迷你埠驅動程式取得其中一個 VidPN 主要子物件的控制碼和介面之後,它可以呼叫介面函式來取得與子物件相關的物件描述元。 例如,假設有句柄和拓撲物件的介面,顯示迷你埠驅動程式可以執行下列步驟,以取得拓撲中所有路徑的描述元。

  1. VidPN 拓撲介面

    呼叫 VidPN 拓撲介面的 pfnAcquireFirstPathInfo 函式,以取得描述拓撲中第一個路徑的 D3DKMDT_VIDPN_PRESENT_PATH 結構指標。

  2. VidPN 拓撲介面

    重複呼叫 pfnAcquireNextPathInfo 函式,以取得描述拓撲中其餘路徑的D3DKMDT_VIDPN_PRESENT_PATH結構的指標。

同樣地,顯示迷你埠驅動程式可以呼叫下列任何模式集介面的 pfnAcquireFirstModeInfopfnAcquireNextModeInfo 函式,以取得模式集中模式的描述元。

請注意, DXGK_VIDPNSOURCEMODESET_INTERFACE 介面沒有從來源模式集中移除模式的功能。 當顯示迷你埠驅動程式需要更新來源模式集時,它不會藉由新增和移除模式來變更現有的模式集。 相反地,它會建立新的模式集來取代舊的模式集。 必須更新模式集的函式範例是顯示迷你埠驅動程式的 DxgkDdiEnumVidPnCofuncModality 函式。 更新來源模式集所涉及的步驟如下:

  1. 呼叫 DXGK_VIDPNSOURCEMODESET_INTERFACE 介面的 pfnCreateNewModeInfo ,以取得 D3DKMDT_VIDPN_SOURCE_MODE 結構的指標 (由 VidPN 管理員配置) 。

    重複呼叫 pfnAddMode ,將模式新增至來源模式集。

  2. 呼叫DXGK_VIDPN_INTERFACEpfnAssignSourceModeSet 函式,將新的模式集指派給特定的視訊呈現來源。 新的來源模式集會取代目前指派給該來源的來源模式集。

更新目標模式集與更新來源模式集類似。 DXGK_VIDPNTARGETMODESET_INTERFACE介面具有以下功能:

沒有介面 (函式集) 來取得屬於特定路徑的來源和目標。 顯示迷你埠驅動程式可以檢查代表路徑之 D3DKMDT_VIDPN_PRESENT_PATH 結構的 VidPnSourceIdVidPnTargetId 成員,以判斷哪個來源和目標屬於特定路徑。

另請參閱

判斷顯示器配接器 是否支援 VidPN

列舉協同功能 VidPN 來源和目標模式

影片展示網路術語

取得其他監視目標模式