EnumDisplaySettingsA 関数 (winuser.h)
EnumDisplaySettings 関数は、ディスプレイ デバイスのグラフィックス モードの 1 つに関する情報を取得します。 ディスプレイ デバイスのすべてのグラフィックス モードの情報を取得するには、この関数を一連の呼び出しを行います。
構文
BOOL EnumDisplaySettingsA(
[in] LPCSTR lpszDeviceName,
[in] DWORD iModeNum,
[out] DEVMODEA *lpDevMode
);
パラメーター
[in] lpszDeviceName
関数が情報を取得するグラフィックス モードに関する表示デバイスを指定する null で終わる文字列へのポインター。
このパラメーターは NULL またはDISPLAY_DEVICEです。EnumDisplayDevices から返される DeviceName。 NULL 値は、呼び出し元のスレッドが実行されているコンピューター上の現在の表示デバイスを指定します。
[in] iModeNum
取得する情報の種類。 この値には、グラフィックス モードのインデックスまたは次のいずれかの値を指定できます。
値 | 説明 |
---|---|
|
ディスプレイ デバイスの現在の設定を取得します。 |
|
レジストリに現在格納されているディスプレイ デバイスの設定を取得します。 |
グラフィックス モードのインデックスは 0 から始まります。 ディスプレイ デバイスのすべてのグラフィックス モードの情報を取得するには、 EnumDisplaySettings の一連の呼び出しを行います。最初の呼び出しでは iModeNum を 0 に設定し、後続の呼び出しごとに iModeNum を 1 ずつインクリメントします。 戻り値が 0 になるまで関数の呼び出しを続けます。
iModeNum を 0 に設定して EnumDisplaySettings を呼び出すと、オペレーティング システムはディスプレイ デバイスに関する情報を初期化してキャッシュします。 iModeNum を 0 以外の値に設定して EnumDisplaySettings を呼び出すと、関数は iModeNum を 0 に設定して関数が最後に呼び出されたときにキャッシュされた情報を返します。
[out] lpDevMode
関数が指定したグラフィックス モードに関する情報を格納する DEVMODE 構造体へのポインター。 EnumDisplaySettings を呼び出す前に、dmSize メンバーを にsizeof(DEVMODE)
設定し、dmDriverExtra メンバーを設定して、プライベート ドライバー データを受信するために使用できる追加領域のサイズ (バイト単位) を示します。
EnumDisplaySettings 関数は、次の 5 つの DEVMODE メンバーの値を設定します。
- dmBitsPerPel
- dmPelsWidth
- dmPelsHeight
- dmDisplayFlags
- dmDisplayFrequency
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。
解説
iModeNum がディスプレイ デバイスの最後のグラフィックス モードのインデックスより大きい場合、関数は失敗します。 iModeNum パラメーターの説明に記載されているように、この動作を使用して、ディスプレイ デバイスのすべてのグラフィックス モードを列挙できます。
DPI 仮想化
この API は、DPI 仮想化には参加しません。 指定された出力は常に物理ピクセルの観点からであり、呼び出し元のコンテキストには関連しません。注意
winuser.h ヘッダーは、EnumDisplaySettings をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | 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-0 (Windows 8 で導入) |