IddCx 1.4 ドライバーの構築

Windows 10 バージョン 1809 の IddCx 1.3 で行われた変更により、IddCx v1.4 に対して構築された間接ディスプレイ ドライバー (IDD) は、ランタイム チェックを使用して Windows 10 バージョン 1809 で実行し、IddCx 1.4 の DDI 変更がそのシステムで使用可能かどうかを確認できます。 詳細については、複数のバージョンの Windows 用の WDF ドライバーの構築を参照してください 。

IddCx 1.4 以降では、次の操作を行うことで、Windows 10 バージョン 1803 以降にインストールするように IddCx ドライバーを構築できます。 注: このドライバーは、Windows 10 バージョン 1607 から 1709 には読み込まれません。

  • Windows Driver Kit (WDK) の IddCx 1.4 ヘッダーとライブラリを使用してドライバーを構築してリンクします。
  • 構築環境で IDDCX_MINIMUM_VERSION_REQUIRED を 3 に設定します。 これにより、ドライバーが構築された最小 IddCx バージョン (この場合は 1.3) が OS に通知されます。
  • IddCx 構造体を初期化するときは、対応する XXX_INIT マクロを使用します。 たとえば、IDD_CX_CLIENT_CONFIG_INIT() マクロを使用して、IDD_CX_CLIENT_CONFIG 構造体を初期化します。 このマクロでは、ランタイム コードを使用して、ドライバーが実行されている IddCx バージョンの適切なサイズに [サイズ] フィールドを設定します。
  • IDD_IS_FIELD_AVAILABLE() マクロを使用して、IddCx からドライバーに渡される構造体にそのフィールドが定義されているかどうかを判断します。 注: IddCx 1.4 は IddCx からドライバーに渡される既存の構造体を拡張しなかったため、このマクロは IddCx 1.4 で使用する必要はありません。
  • IDD_IS_FUNCTION_AVAILABLE() マクロを使用して、ドライバーが実行されている OS で特定の IddCx 関数を使用できるかどうかを判断します。 たとえば、IDD_IS_FUNCTION_AVAILABLE(IddCxAdapterSetRenderAdapter) を使用して、IddCxAdapterSetRenderAdapter() がこの OS でサポートされているかどうかを判断します。

次の表は、さまざまな OS リリースでサポートされている IddCx のバージョンをまとめたものです。

OS バージョン OS に付属する IddCx バージョン 実行できるドライバーの IddCx バージョン
1607 (RS1) 1.0 1.0
1703 (RS2) 1.0 1.0
1709 (RS3) 1.2 1.0 と 1.2
1803 (RS4) 1.3 1.0-1.3 および 1.4 以上 (*)
1809 (RS5) 1.3 1.0-1.3 および 1.4 以上 (*)
1903 (19H1) 1.4 1.0-1.3 および 1.4 以上 (*)
1909 (19H2) 1.4 1.0-1.3 および 1.4 以上 (*)
2004 (20H1) 1.4 1.0-1.3 および 1.4 以上 (*)
該当なし 1.6 1.0-1.3 および 1.4 以上 (*)

* IddCx 1.4 以降の IDD では、実行時に呼び出すことができる OS 機能を決定するために、IDD_IS_FUNCTION_AVAILABLE() などの動的マクロを使用する必要があります。 これらの動的マクロは iddcx.h で定義されています。

使用可能なすべてのバージョンの Windows をサポートするには:

  • Windows 10 バージョン 1607 から 1709 用の IddCx 1.0 ドライバーを作成します。
  • Windows 10 バージョン 1803 以降用の 1 つの IddCx 1.4 以降のドライバーを記述します。