D3DKMTGetDisplayModeList 函式 (d3dkmthk.h)
D3DKMTGetDisplayModeList 函式會擷取可用顯示模式的清單,包括具有擴充格式的模式。
語法
NTSTATUS D3DKMTGetDisplayModeList(
D3DKMT_GETDISPLAYMODELIST *unnamedParam1
);
參數
unnamedParam1
[in/out] pData 是包含此函式自變數之 D3DKMT_GETDISPLAYMODELIST 結構的指標。
傳回值
D3DKMTGetDisplayModeList 會傳回 NTSTATUS 值,例如下列其中一項。
傳回碼 | 描述 |
---|---|
STATUS_SUCCESS | 已成功擷取可用的顯示模式清單,或如果 pData- |
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), 呼叫 D3DKMTGetDisplayModeList,並將 pData->pModeList 設為 NULL,並將 pData->ModeCount 設為 0。 如果此呼叫傳回STATUS_SUCCESS,則傳回 pData->ModeCount 是顯示模式的總數。 然後,用戶端驅動程式可以配置一個 ModeCountD3DKMT_DISPLAYMODE 結構的數位、將 pModeList 設定為指向此陣列,然後再次呼叫 D3DKMTGetDisplayModeList 來擷取顯示模式清單。
指定的 VidPn 來源上的顯示屬性可以在這兩個呼叫之間變更,導致顯示模式清單變更。 在此情況下,如果呼叫端提供的 D3DKMT_DISPLAYMODE 陣列不夠大,無法容納新的顯示模式清單,則此函式會傳回STATUS_BUFFER_TOO_SMALL,且傳回 ModeCount傳回的新顯示模式數目。 呼叫端可以釋放先前的 D3DKMT_DISPLAYMODE 數位列、根據新的傳回號碼配置新的 D3DKMT_DISPLAYMODE 陣列,並使用新的數位和新 D3DKMT_DISPLAYMODE 陣列再次呼叫此函式,以取得新的顯示模式清單。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平臺 | 普遍 |
標頭 | d3dkmthk.h (包括 D3dkmthk.h) |
連結庫 | Gdi32.lib |
DLL | Gdi32.dll |