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
ERROR_SUCCESS
此函數已成功。
ERROR_INVALID_PARAMETER
指定之參數和旗標的組合無效。
ERROR_NOT_SUPPORTED
系統未執行根據 Windows 顯示驅動程式模型所撰寫的圖形驅動程式 , (WDDM) 。 只有在執行 WDDM 驅動程式的系統上才支援函式。
ERROR_ACCESS_DENIED
呼叫端無法存取主控台工作階段。 如果呼叫進程無法存取目前的桌面或在遠端會話上執行,就會發生此錯誤。
ERROR_GEN_FAILURE
發生未指定的錯誤。

備註

假設目前的顯示路徑組態和要求的旗標, 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 版)

另請參閱

QueryDisplayConfig

SetDisplayConfig