getDisplayConfigBufferSizes 函式 (winuser.h)
GetDisplayConfigBufferSizes 函式會擷取呼叫 QueryDisplayConfig 函式所需的緩衝區大小。
語法
LONG GetDisplayConfigBufferSizes(
[in] UINT32 flags,
[out] UINT32 *numPathArrayElements,
[out] UINT32 *numModeInfoArrayElements
);
參數
[in] flags
要擷取的信息類型。 Flags 參數的值必須是下列其中一個值。
QDC_ALL_PATHS
呼叫端會要求數據表大小來保存所有可能的路徑組合。
QDC_ONLY_ACTIVE_PATHS
呼叫端要求數據表大小只保留作用中的路徑。
QDC_DATABASE_CURRENT
呼叫端會要求數據表大小,以保存目前連線監視器之持續性資料庫中定義的使用中路徑。
[out] numPathArrayElements
接收路徑資訊數據表中項目數之變數的指標。 然後,後續呼叫 QueryDisplayConfig 函式會使用 pNumPathArrayElements 參數值。 此參數不可為 NULL。
[out] numModeInfoArrayElements
接收模式資訊數據表中項目數目之變數的指標。 接著,查詢DisplayConfig 函式的後續呼叫會使用 pNumModeInfoArrayElements 參數值。 此參數不可為 NULL。
傳回值
函式會傳回下列其中一個傳回碼。
傳回碼 | Description |
---|---|
|
此函數已成功。 |
|
指定之參數和旗標的組合無效。 |
|
系統未執行根據 Windows 顯示驅動程式模型所撰寫的圖形驅動程式 , (WDDM) 。 只有在執行 WDDM 驅動程式的系統上才支援函式。 |
|
呼叫端無法存取主控台工作階段。 如果呼叫進程無法存取目前的桌面或在遠端會話上執行,就會發生此錯誤。 |
|
發生未指定的錯誤。 |
備註
假設目前的顯示路徑組態和要求的旗標, GetDisplayConfigBufferSizes 會傳回儲存資訊所需的路徑和模式數據表大小。 GetDisplayConfigBufferSizes 可以傳回稍微大於實際所需的值,因為它會判斷所有來源和目標路徑都有效;而驅動程式可能會對可能的組合進行一些限制。
由於 GetDisplayConfigBufferSizes 只能判斷該時間所需的數位大小,因此在 呼叫 GetDisplayConfigBufferSizes 和 QueryDisplayConfig 之間,系統組態已變更,而且提供的數位大小已不足以儲存新的路徑數據。
如果呼叫端知道它必須啟用其他來源和目標,則呼叫端可以配置比從 GetDisplayConfigBufferSizes 傳回更大的模式資訊數位,讓呼叫端在呼叫 QueryDisplayConfig 之後以及呼叫 SetDisplayConfig 之前,具有額外來源和目標模式的空間來新增其他來源和目標模式。
範例
如需 GetDisplayConfigBufferSizes 的範例,請參閱 QueryDisplayConfig。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
目標平台 | Universal |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib;Windows 10 上的 OneCoreUAP.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (Windows 10 10.0.14393 版) |