DXGKARG_COMMITVIDPN_FLAGS 結構 (d3dkmddi.h)

DXGKARG_COMMITVIDPN_FLAGS結構會識別 DxgkDdiCommitVidPn 函式呼叫的相關詳細數據。

語法

typedef struct _DXGKARG_COMMITVIDPN_FLAGS {
  UINT PathPowerTransition : 1;
  UINT PathPoweredOff : 1;
  UINT Reserved : 30;
} DXGKARG_COMMITVIDPN_FLAGS;

成員

PathPowerTransition

UINT 值,指定 Microsoft DirectX 圖形核心子系統是否呼叫 DxgkDdiCommitVidPn 函式來關閉連線的監視器。

如果 PathPowerTransition 設定為 TRUE,則顯示迷你埠驅動程式可以優化此呼叫,例如電源關閉 (,驅動程式可能會停用垂直同步處理) 。 驅動程式也必須注意,它可能仍會在受影響的來源上收到其 DxgkDdiPresent 函式的呼叫。

設定此成員相當於 (0x00000001) 設定 32 位值的第一個位。

如需詳細資訊,請參閱接下來的<備註>一節。

PathPoweredOff

UINT 值,指定 DirectX 圖形核心子系統是否呼叫 DxgkDdiCommitVidPn ,以通知驅動程式用戶變更模式。

如果 PathPoweredOff 設定為 TRUE,則顯示迷你埠驅動程式應該預期有以新拓撲為基礎的作業。 驅動程式無法執行任何會導致拓撲路徑再次開啟的作業 (,例如,驅動程式無法啟用垂直同步處理) ,因為監視器現在應該關閉電源。

如果 PathPoweredOff 設定為 FALSE,拓撲路徑就會開啟電源。 顯示迷你埠驅動程式應該針對以先前拓撲路徑為基礎的目前作業設計硬體,而驅動程式應該認可硬體以支援此拓撲路徑。 設定此成員相當於設定 32 位值的第二個位 (0x00000002) 。

如需詳細資訊,請參閱接下來的<備註>一節。

Reserved

這個成員是保留的,而且應該設定為零。 將此成員設定為零相當於將32位值的剩餘30位設定為零 (0xFFFFFFFC) 。

備註

DXGKARG_COMMITVIDPN_FLAGS結構會儲存顯示迷你埠驅動程式可用來判斷如何回應要求模式變更的資訊。 利用這項資訊,驅動程式可以區分一般活動期間發生的模式變更,因為應用程式要求模式變更、因為電源轉換而發生的變更,以及關閉監視器時發生的變更。

在一般活動期間,呼叫 DxgkDdiCommitVidPn 函式時, PathPowerTransitionPathPoweredOff 成員都會是 FALSE ,讓驅動程式應該立即套用模式變更。 這類模式變更通常會以隔離事件的形式執行。 因此,驅動程式不需要追蹤與先前模式組態相關聯的任何狀態。

如果關閉或開啟監視器, PathPowerTransition 將會是 TRUE ,表示電源轉換。 在此情況下,常見的模式是會關閉監視器,然後在稍後還原原始組態。 驅動程式在系統關機之後,可以完全重設顯示組態,是相當重要的工作負載。 此外,驅動程式必須在關閉監視器時繼續完成 DxgkDdiPresent 作業。 不過,當呼叫 DxgkDdiCommitVidPn 時,驅動程式可以藉由確定相關的監視器已關閉電源,以減少其工作負載。 還原電源時,還原顯示組態的驅動程式工作負載將會降低。

因為監視器可能不會在系統繼續時實際連線 (,例如) ,所以驅動程式不應該依賴 Windows 對 DxgkDdiSetPowerState 函式進行稍後呼叫,以設定顯示器適配卡的子裝置電源狀態。 不過,Windows 仍會要求開啟CRTC。 如果驅動程式在要求執行這項操作時,驅動程式不會開啟垂直同步處理, (DMM) ;如果使用者稍後重新連線監視器,則監視器顯示可能空白。

當關閉監視器時,驅動程式仍必須接受 DxgkDdiPresent 作業。 驅動程式可能必須針對應用程式觸發的模式變更採取行動,例如,若要對轉譯管線執行修改,以考慮輪替變更。 PathPowerTransition = FALSEPathPoweredOff = TRUE 的設定會通知驅動程式發生這類模式變更。 在此情況下,驅動程式不得開啟監視器,而是在必要時重新編譯硬體,以容納模式變更,以便完成額外的 DxgkDdiPresent 作業。 當執行這類模式變更,且監視器稍後重新開啟時,不太可能還原關閉電源之前發生的模式。

如果在關閉系統暫停作業的監視器關閉之後觸發系統繼續作業,則驅動程式可以使用PathPowerTransitionFALSEPathPoweredOff = FALSE 收到 DxgkDdiCommitVidPn 呼叫,再使用PathPowerTransition = = TRUE 進行 DxgkDdiCommitVidPn 呼叫。 這種情況應該只會發生空的拓撲,在此情況下,驅動程式不應該重新開啟監視器,因為電源轉換尚未完成。

規格需求

需求
最低支援的用戶端 Windows Vista
標頭 d3dkmddi.h (包含 D3dkmddi.h)

另請參閱

DXGKARG_COMMITVIDPN

DxgkDdiPresent

DxgkDdiSetPowerState