由於對 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 驅動程式套件 (WDK) 提供的 IddCx 1.4 標頭和庫,建置並連結驅動程式。
- 將建置環境中的IDDCX_MINIMUM_VERSION_REQUIRED設定為 3。 這會告訴作業系統驅動程式所建置的最低IddCx版本,在此案例中是1.3。
- 初始化 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) 來判斷此 OS 是否支援 IddCxAdapterSetRenderAdapter()。
下表摘要說明不同OS版本支援的IddCx版本。
| 操作系統版本 | 隨附於 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。 |
| N/A | 1.6 | 高於 1.0-1.3 和 1.4。 |
* IddCx 1.4 和更新版本 IDD 需要使用動態巨集,例如 IDD_IS_FUNCTION_AVAILABLE() ,才能在運行時間決定它可以呼叫的作系統功能。 這些動態巨集定義於 iddcx.h中。
若要支援所有可能的 Windows 版本:
- 撰寫適用於 Windows 10 版本 1607 到 1709 的 IddCx 1.0 驅動程式。
- 針對 Windows 10 版本 1803 和更新版本撰寫單一 IddCx 1.4 或更新版本驅動程式。