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 以降のドライバーを記述します。