VidPN 物件和介面
影片呈現網路 (VidPN) 管理員會使用 VidPN 物件來維護影片簡報來源、視訊簡報目標和顯示模式之間的關聯相關資訊。 如需詳細資訊,請參閱 影片簡報網路簡介 主題。
VidPN 物件
VidPN 物件包含下列子物件。
拓撲
來源模式集
目標模式集
監視來源模式集
監視頻率範圍集
監視描述項集
路徑
來源
目標
來源模式
目標模式
監視來源模式
下圖說明 VidPN 物件及其子物件。
上圖說明特定關聯是一對一、一對多、多對一或多對多。 例如,圖表顯示來源可以屬於多個路徑,但目標只能屬於一個路徑。
圖表中的藍色物件是透過控制碼和介面來存取,而灰色物件則透過結構指標來存取。 此內容中的介面是包含函式指標的結構。 例如, DXGK_VIDPNTOPOLOGY_INTERFACE 結構包含 VidPN 管理員所實作之函式 (指標,) 顯示迷你埠驅動程式呼叫來檢查和改變拓撲物件。 當顯示迷你埠驅動程式呼叫其中任何一個函式時,它必須提供拓撲物件的控制碼。 下表列出用來存取 VidPN 物件及其子物件的控制碼、介面和指標資料類型。
Object | Access 方法和資料類型 |
---|---|
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 |
Source | 透過結構指標存取。 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 物件的控制碼和介面。
在初始化期間,DirectX 圖形核心子系統會呼叫顯示迷你埠驅動程式的 DxgkDdiStartDevice 函式。 該呼叫會提供顯示迷你埠驅動程式與 DXGKRNL_INTERFACE 結構,其中包含 DirectX 圖形核心子系統所實作之函式的指標。 其中一個函式是 DxgkCbQueryVidPnInterface。
在某些情況下,VidPN 管理員需要顯示迷你埠驅動程式的協助,因此它會藉由呼叫下列其中一個函式,為顯示器迷你埠驅動程式提供 VidPN 物件的控制碼:
顯示迷你埠驅動程式會將步驟 2 中取得的控制碼傳遞至 DxgkCbQueryVidPnInterface,這會傳回 DXGK_VIDPN_INTERFACE 結構的指標。
顯示迷你埠驅動程式具有 VidPN 物件的控制碼和介面之後,就可以視需要) 取得控制碼和介面 (主要子物件:拓撲、來源模式集、目標模式集,以及監視來源模式集。 例如,顯示迷你埠驅動程式可以呼叫 pfnGetTopology (VidPN 介面中的其中一個函式) ,以取得 VidPN 拓撲物件的控制碼,以及 DXGK_VIDPNTOPOLOGY_INTERFACE 結構的指標。
下列函式 (VidPN 介面) 提供 VidPN 物件主要子物件的控制碼和介面。
請注意,上述清單中的兩個函式具有釋放 VidPN 子物件的對應函式。
在顯示迷你埠驅動程式取得其中一個 VidPNs 主要子物件的控制碼和介面之後,它可以呼叫介面函式,以取得與子物件相關的物件描述項。 例如,假設拓撲物件的控制碼和介面,顯示迷你埠驅動程式可以執行下列步驟來取得拓撲中所有路徑的描述項。
-
呼叫 VidPN 拓撲介面的 pfnAcquireFirstPathInfo 函式,以取得描述拓撲中第一個路徑 之D3DKMDT_VIDPN_PRESENT_PATH 結構的指標。
-
重複呼叫 pfnAcquireNextPathInfo 函式,以取得描述拓撲中其餘路徑之D3DKMDT_VIDPN_PRESENT_PATH結構的指標。
同樣地,顯示迷你埠驅動程式可以藉由呼叫下列任何模式集介面的 pfnAcquireFirstModeInfo 和 pfnAcquireNextModeInfo 函式,取得模式集合中的描述項。
請注意 ,DXGK_VIDPNSOURCEMODESET_INTERFACE 介面沒有從來源模式集移除模式的函式。 當顯示迷你埠驅動程式需要更新來源模式集時,它不會藉由新增和移除模式來改變現有的模式集。 相反地,它會建立取代舊模式集的新模式集。 必須更新模式集的函式範例是顯示迷你埠驅動程式的 DxgkDdiEnumVidPnCofuncModality 函式 。 更新來源模式集所涉及的步驟如下:
呼叫DXGK_VIDPNSOURCEMODESET_INTERFACE介面的pfnCreateNewModeInfo,以取得 VidPN 管理員) 所配置之D3DKMDT_VIDPN_SOURCE_MODE結構 (指標。
重複呼叫 pfnAddMode 以將模式新增至來源模式集。
呼叫DXGK_VIDPN_INTERFACE的pfnAssignSourceModeSet函式,將新的模式設定指派給特定的視訊呈現來源。 新的來源模式集會取代目前指派給該來源的來源模式集。
更新目標模式集類似于更新來源模式集。 DXGK_VIDPNTARGETMODESET_INTERFACE介面具有下列函式:
-
用於建立新目標模式集的 pfnCreateNewModeInfo 函式,以及用於將模式新增至集合的 pfnAddMode 函式。
沒有介面 (一組函式) 用於取得屬於特定路徑的來源和目標。 顯示迷你埠驅動程式可以藉由檢查代表路徑之D3DKMDT_VIDPN_PRESENT_PATH結構的VidPnSourceId 和 VidPnTargetId成員,來判斷哪個來源和目標屬於特定路徑。