勇芳软件工作室.汉化:  Device Contexts > Device Contexts Functions >

EnumDisplaySettings

Previous pageReturn to chapter overviewNext page

描述

 

EnumDisplaySettings功能检索有关显示设备的其中一种图形模式的信息。要检索显示设备的所有图形模式的信息,请对此函数进行一系列调用。

 

C++ 语法

 

BOOL EnumDisplaySettings(

__in LPCTSTR lpszDeviceName,

__in DWORD iModeNum,

__out LPDEVMODE lpDevMode

);

 

PowerBASIC 语法

 

FUNCTION EnumDisplaySettingsA ( _

BYREF lpszDeviceName AS ASCIIZ, _

BYVAL iModeNum AS DWORD, _

BYREF lpDevMode AS DEVMODEA _

) AS LONG

 

Unicode版本:

 

FUNCTION EnumDisplaySettingsW ( _

BYREF lpszDeviceName AS WSTRINGZ, _

BYVAL iModeNum AS DWORD, _

BYREF lpDevMode AS DEVMODEW _

) AS LONG

 

参数

 

lpszDeviceName

 

[in]指向一个以null结束的字符串的指针,指定显示设备关于其功能将获取信息的图形模式。

 

此参数为NULL或从EnumDisplayDevices返回的DISPLAY_DEVICE.DeviceName.NULL值指定正在运行调用线程的计算机上的当前显示设备。

 

Windows 95lpszDeviceName必须为NULL。

 

iModeNum

 

[in]指定要检索的信息的类型。该值可以是图形模式索引或以下值之一。

 

含义

ENUM_CURRENT_SETTINGS

检索显示设备的当前设置。

ENUM_REGISTRY_SETTINGS

检索当前存储在注册表中的显示设备的设置。

 

图形模式索引从零开始。要获取所有显示设备图形模式的信息,请对EnumDisplaySettings进行一系列呼叫,如下所示:将第一次呼叫设置为iModeNum为零,并为每个后续呼叫将iModeNum增加1。继续调用该函数,直到返回值为零。

 

EnumDisplaySettings设置为零时,操作系统将初始化并缓存有关显示设备的信息。当您使用iModeNum设置为非零值调用EnumDisplaySettings时,该函数返回上次调用函数时缓存的信息,iModeNum设置为零。

 

lpDevMode

 

[out]指向DEVMODE结构的指针,其中函数存储有关指定图形模式的信息。在调用EnumDisplaySettings之前,将dmSize成员设置为SIZEOF(DEVMODE),并设置dmDriverExtra成员以指示可用于接收私有驱动程序数据的附加空间的大小(以字节为单位)。

 

EnumDisplaySettings函数设置以下五个DEVMODE成员的值:

 

·dmBitsPerPel
·dmPelsWidth
·dmPelsHeight
·dmDisplayFlags
·dmDisplayFrequency

 

返回值

 

如果函数成功,返回值不为零。

 

如果函数失败,返回值为零。

 

Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.

 

备注

 

如果iModeNum大于显示设备的最后一个图形模式的索引,该函数将失败。如iModeNum参数的说明中所述,您可以使用此行为枚举所有显示设备的图形模式。

 

Windows 95/98 / Me:Microsoft Layer for Unicode支持EnumDisplaySettingsW.

 

引用文件 #INCLUDE Once

 

WinUser.inc(包括Windows.inc)