共用方式為


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 只能判斷該時間所需的數位大小,因此在 呼叫 GetDisplayConfigBufferSizesQueryDisplayConfig 之間,系統組態已變更,而且提供的數位大小已不足以儲存新的路徑數據。

如果呼叫端知道它必須啟用其他來源和目標,則呼叫端可以配置比從 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