EnumDisplaySettingsW 函式 (winuser.h)
EnumDisplaySettings 函式會擷取顯示裝置其中一種圖形模式的相關信息。 若要擷取顯示裝置所有圖形模式的資訊,請對這個函式進行一系列呼叫。
語法
BOOL EnumDisplaySettingsW(
[in] LPCWSTR lpszDeviceName,
[in] DWORD iModeNum,
[out] DEVMODEW *lpDevMode
);
參數
[in] lpszDeviceName
以 Null 結束之字串的指標,指定顯示裝置的圖形模式,函式將取得資訊。
這個參數 NULL 或 DISPLAY_DEVICE。DeviceName 從 EnumDisplayDevices傳回。 NULL 值會指定呼叫線程執行所在的電腦上目前的顯示裝置。
[in] iModeNum
要擷取的信息類型。 此值可以是圖形模式索引或下列其中一個值。
價值 | 意義 |
---|---|
|
擷取顯示裝置目前的設定。 |
|
擷取目前儲存在登錄中的顯示裝置設定。 |
圖形模式索引從零開始。 若要取得所有顯示裝置圖形模式的資訊,請對
當您呼叫 EnumDisplaySettings 時,iModeNum 設為零,操作系統會初始化並快取顯示裝置的相關信息。 當您使用 iModeNum 設定為非零值呼叫 EnumDisplaySettings 時,函式會傳回上次使用 iModeNum 呼叫 iModeNum 設為零時所快取的資訊。
[out] lpDevMode
DEVMODE 結構的指標,函式會將指定圖形模式的相關信息儲存至其中。 在呼叫 EnumDisplaySettings之前,請將 dmSize 成員設定為 sizeof(DEVMODE)
,並設定 dmDriverExtra 成員,以位元組為單位表示可接收私人驅動程式數據的額外空間大小。
EnumDisplaySettings 函式會設定下列五個 DEVMODE 成員的值:
- dmBitsPerPel
- dmPelsWidth
- dmPelsHeight
- dmDisplayFlags
- dmDisplayFrequency
傳回值
如果函式成功,則傳回值為非零值。
如果函式失敗,傳回值為零。
言論
如果 iModeNum 大於顯示裝置上一個圖形模式的索引,則函式會失敗。 如 iModeNum 參數的描述所述,您可以使用此行為來列舉所有顯示裝置的圖形模式。
DPI 虛擬化
此 API 不會參與 DPI 虛擬化。 指定的輸出一律會以實體圖元為單位,且與呼叫內容無關。注意
winuser.h 標頭會將 EnumDisplaySettings 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winuser.h (包括 Windows.h) |
連結庫 | User32.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-sysparams-ext-l1-1-0 (在 Windows 8 中引進) |