D3DKMTGetDisplayModeList 函式 (d3dkmthk.h)

D3DKMTGetDisplayModeList 函式會擷取可用的顯示模式清單,包括具有擴充格式的模式。

語法

NTSTATUS D3DKMTGetDisplayModeList(
  D3DKMT_GETDISPLAYMODELIST *unnamedParam1
);

參數

unnamedParam1

[in/out] pData 是包含此函式自變數 之D3DKMT_GETDISPLAYMODELIST 結構的指標。

傳回值

D3DKMTGetDisplayModeList 會傳回 NTSTATUS 值,例如下列其中一個值。

傳回碼 描述
STATUS_SUCCESS 已成功擷取可用的顯示模式清單,如果 pData-pModeList 為 NULL,且輸入上的 pData-ModeCount> 為零,則會在 pData-ModeCount>> 中傳回顯示模式的數目。
STATUS_DEVICE_REMOVED 圖形配接器已停止。
STATUS_BUFFER_TOO_SMALL pData-pModeList> 中提供的用戶端驅動程序緩衝區不夠大,無法包含要求的顯示模式清單。
STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET 沒有視訊簡訊簡報目標可用於 pData-VidPnSourceId> 所識別的視訊簡訊簡報來源。 因此,此來源沒有可用的顯示模式。
STATUS_INVALID_PARAMETER** 已驗證參數,並判斷為不正確。

備註

若要取得圖形配接器上指定 VidPn 來源 (pData-VidPnSourceId) 的顯示模式數目, (pData-hAdapter) ,用戶端驅動程式可以將 pData-pModeList>>> 設定為 NULL 和 pData-ModeCount 呼叫 D3DKMTGetDisplayModeList,並將 pData-ModeCount> 設定為 0。 如果此呼叫傳回STATUS_SUCCESS,則傳回的 pData-ModeCount> 是顯示模式的總數。 然後,客戶端驅動程式可以配置 ModeCount的陣列D3DKMT_DISPLAYMODE 結構、將 pModeList 設定為指向此陣列,然後再次呼叫 D3DKMTGetDisplayModeList 以擷取顯示模式清單。

這兩個呼叫之間可以變更指定 VidPn 來源上的顯示屬性,導致顯示模式清單變更。 在此情況下,如果呼叫端提供的 D3DKMT_DISPLAYMODE 陣列不夠大,無法保存新的顯示模式清單,此函式會傳回STATUS_BUFFER_TOO_SMALL傳回傳回 的ModeCount中新的顯示模式數目。 呼叫端可以釋放先前 的D3DKMT_DISPLAYMODE 數位、根據新的傳回號碼配置新的 D3DKMT_DISPLAYMODE 數位,並使用新的號碼和新 D3DKMT_DISPLAYMODE 數位再次呼叫此函式,以取得新的顯示模式清單。

規格需求

需求
最低支援的用戶端 Windows Vista
目標平台 Universal
標頭 d3dkmthk.h (包含 D3dkmthk.h)
程式庫 Gdi32.lib
Dll Gdi32.dll

另請參閱

D3DKMT_DISPLAYMODE

D3DKMT_GETDISPLAYMODELIST