次の方法で共有


EnumDisplayDevicesW 関数 (winuser.h)

EnumDisplayDevices 関数を使用すると、現在のセッションのディスプレイ デバイスに関する情報を取得できます。

構文

BOOL EnumDisplayDevicesW(
  [in]  LPCWSTR          lpDevice,
  [in]  DWORD            iDevNum,
  [out] PDISPLAY_DEVICEW lpDisplayDevice,
  [in]  DWORD            dwFlags
);

パラメーター

[in] lpDevice

デバイス名へのポインター。 null場合、関数は iDevNumに基づいて、コンピューター上のディスプレイ アダプターの情報 返します。

詳細については、「解説」を参照してください。

[in] iDevNum

対象の表示デバイスを指定するインデックス値。

オペレーティング システムは、現在のセッション内の各ディスプレイ デバイスをインデックス値で識別します。 インデックス値は、0 から始まる連続する整数です。 たとえば、現在のセッションに 3 つのディスプレイ デバイスがある場合は、インデックス値 0、1、および 2 で指定されます。

[out] lpDisplayDevice

iDevNumで指定された表示デバイスに関する情報 受け取る DISPLAY_DEVICE 構造体へのポインター。

EnumDisplayDevices呼び出す前に、DISPLAY_DEVICEcb メンバーを、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 ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして EnumDisplayDevices を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-sysparams-ext-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC の

DEVMODE の

DISPLAY_DEVICE

デバイス コンテキスト関数の

デバイス コンテキストの概要

EnumDisplaySettings の