GetDisplayConfigBufferSizes 関数 (winuser.h)
GetDisplayConfigBufferSizes 関数は、QueryDisplayConfig 関数を呼び出すために必要なバッファーのサイズを取得します。
構文
LONG GetDisplayConfigBufferSizes(
[in] UINT32 flags,
[out] UINT32 *numPathArrayElements,
[out] UINT32 *numModeInfoArrayElements
);
パラメーター
[in] flags
取得する情報の種類。 Flags パラメーターの値は、次のいずれかの値である必要があります。
QDC_ALL_PATHS
呼び出し元は、考えられるすべてのパスの組み合わせを保持するようにテーブル サイズを要求します。
QDC_ONLY_ACTIVE_PATHS
呼び出し元は、アクティブなパスのみを保持するようにテーブル サイズを要求します。
QDC_DATABASE_CURRENT
呼び出し元は、現在接続されているモニターの永続化データベースで定義されているアクティブパスを保持するようにテーブル サイズを要求します。
[out] numPathArrayElements
パス情報テーブル内の要素の数を受け取る変数へのポインター。 pNumPathArrayElements パラメーター値は、QueryDisplayConfig 関数の後続の呼び出しによって使用されます。 このパラメーターを NULL にすることはできません。
[out] numModeInfoArrayElements
モード情報テーブル内の要素の数を受け取る変数へのポインター。 pNumModeInfoArrayElements パラメーター値は、QueryDisplayConfig 関数の後続の呼び出しによって使用されます。 このパラメーターを NULL にすることはできません。
戻り値
関数は、次のいずれかのリターン コードを返します。
リターン コード | 説明 |
---|---|
|
関数が正常に実行されました。 |
|
指定されたパラメーターとフラグの組み合わせが無効です。 |
|
システムでは、 Windows ディスプレイ ドライバー モデル (WDDM) に従って記述されたグラフィックス ドライバーが実行されていません。 関数は、WDDM ドライバーが実行されているシステムでのみサポートされます。 |
|
呼び出し元はコンソール セッションにアクセスできません。 このエラーは、呼び出し元のプロセスが現在のデスクトップにアクセスできない場合、またはリモート セッションで実行されている場合に発生します。 |
|
未指定のエラーが発生しました。 |
解説
現在の表示パス構成と要求されたフラグを指定すると、 GetDisplayConfigBufferSizes は、情報を格納するために必要なパス テーブルとモード テーブルのサイズを返します。 GetDisplayConfigBufferSizes は、すべてのソース パスとターゲット パスが有効であると判断されるため、実際に必要な値よりも少し大きい値を返すことができます。一方、ドライバーでは、考えられる組み合わせにいくつかの制限が適用される場合があります。
GetDisplayConfigBufferSizes は、その時点の必要な配列サイズのみを決定できるため、GetDisplayConfigBufferSizes と QueryDisplayConfig の呼び出しの間にシステム構成が変更され、指定された配列サイズが新しいパス データを格納するのに十分ではなくなった可能性があります。
呼び出し元が追加のソースとターゲットを有効にする必要があることを認識している場合、呼び出し元は GetDisplayConfigBufferSizes から返されるよりも大きなモード情報配列を割り当てて、 QueryDisplayConfig を呼び出した後、 および SetDisplayConfig を呼び出す前に追加のソース モードとターゲット モードを追加する領域を確保できます。
例
GetDisplayConfigBufferSizes の例については、「QueryDisplayConfig」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winuser.h (Windows.h を含む) |
Library | User32.lib;Windows 10の OneCoreUAP.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入) |