EnumDisplayDevicesA 関数 (winuser.h)
EnumDisplayDevices 関数を使用すると、現在のセッションのディスプレイ デバイスに関する情報を取得できます。
構文
BOOL EnumDisplayDevicesA(
[in] LPCSTR lpDevice,
[in] DWORD iDevNum,
[out] PDISPLAY_DEVICEA lpDisplayDevice,
[in] DWORD dwFlags
);
パラメーター
[in] lpDevice
デバイス名へのポインター。 NULL の場合、関数は iDevNum に基づいて、コンピューター上のディスプレイ アダプターの情報を返します。
詳細については、「解説」を参照してください。
[in] iDevNum
対象の表示デバイスを指定するインデックス値。
オペレーティング システムは、現在のセッションの各ディスプレイ デバイスをインデックス値で識別します。 インデックス値は、0 から始まる連続する整数です。 たとえば、現在のセッションに 3 つのディスプレイ デバイスがある場合は、インデックス値 0、1、2 で指定されます。
[out] lpDisplayDevice
iDevNumで指定された表示デバイスに関する情報を受け取るDISPLAY_DEVICE構造体へのポインター。
EnumDisplayDevices を呼び出す前に、DISPLAY_DEVICE の cb メンバーを、DISPLAY_DEVICEのサイズ (バイト単位) に初期化する必要があります。
[in] dwFlags
このフラグを EDD_GET_DEVICE_INTERFACE_NAME (0x00000001) に設定して、オペレーティング システムによってモニターごとに登録されるGUID_DEVINTERFACE_MONITORのデバイス インターフェイス名を取得します。 この値は、lpDisplayDevice で返されるDISPLAY_DEVICE構造体の DeviceID メンバーに配置されます。 結果のデバイス インターフェイス名は 、SetupAPI 関数 と共に使用でき、GDI モニター デバイスと SetupAPI モニター デバイス間のリンクとして機能します。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 iDevNum が最大のデバイス インデックスより大きい場合、関数は失敗します。
注釈
現在のセッションのすべてのディスプレイ デバイスに対してクエリを実行するには、 iDevNum を 0 に設定してループでこの関数を呼び出し、関数が失敗するまで iDevNum をインクリメントします。 デスクトップ内のすべてのディスプレイ デバイスを選択するには、 DISPLAY_DEVICE構造に DISPLAY_DEVICE_ATTACHED_TO_DESKTOP フラグがあるディスプレイ デバイスのみを使用します。
ディスプレイ アダプターに関する情報を取得するには、lpDevice が NULL に設定された EnumDisplayDevices を呼び出します。 たとえば、 DISPLAY_DEVICE。DeviceString にはアダプター名が含まれています。
ディスプレイ モニターの情報を取得するには、まず lpDevice を NULL に設定して EnumDisplayDevices を呼び出します。 次に、lpDevice を DISPLAY_DEVICE に設定して EnumDisplayDevices を呼び出します。EnumDisplayDevices の最初の呼び出しから、iDevNum を 0 に設定した DeviceName。 次 にDISPLAY_DEVICE。DeviceString はモニター名です。
アダプターに関連付けられているすべてのモニター デバイスに対してクエリを実行するには、lpDevice がアダプター名に設定され、iDevNum が 0 に設定され、iDevNum が関数が失敗するまでインクリメントするように設定されたループで EnumDisplayDevices を呼び出します。 DISPLAY_DEVICEに注意 してください。DeviceName は モニター情報の呼び出しごとに変更されるため、アダプター名を保存する必要があります。 アダプターのモニターがなくなった場合、関数は失敗します。
注意
winuser.h ヘッダーは EnumDisplayDevices をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入) |