XPDM 與 WDDM
Direct3D 9 API 會根據安裝的作系統,在 Windows XP 顯示器驅動程式模型 (XPDM) 或 Windows Vista 顯示驅動程式模型 (WDDM) 上運作。 Direct3D API 在兩個驅動程式模型上的行為方式有一些差異。
安全桌面
每當發生下列任一情況時,安全桌面就會處於作用中狀態:使用者鎖定其桌面 (Windows+L)、螢幕保護程式會啟動(未登入使用者時),或根據預設,當使用者帳戶控制顯示提示時。 當安全桌面處於使用中狀態時,無法存取 HAL 裝置。
XPDM 與 WDDM 之間的差異:
嘗試建立 Direct3D9 HAL 裝置將會失敗(D3DERR_NOT_AVAILABLE),而且任何現有的 Direct3D 9 裝置都會指出目前遺失的裝置傳回碼。
Direct3D9Ex 和 Direct3D 10 API 可以在安全桌面作用中時成功建立裝置,而且任何對 Present 的呼叫(IDirect3D9Ex 或 DXGI)都會傳回狀態代碼,指出桌面目前無法使用。
遠端桌面
當遠端桌面處於使用中狀態時,檢視計算機會處理顯示器,主控計算機會透過網路傳送資訊。
XPDM 與 WDDM 之間的差異:
在 XPDM 上,所有在遠端桌面上建立 Direct3D 9 裝置的嘗試都會失敗。
在 WDDM 上,遠端桌面支援透過遠端桌面工作階段建立 HAL 裝置。
Windows 服務
Windows 服務是在背景中執行的處理程式,由服務控制管理員 (SCM) 控制。 服務會獨立於作用中的桌面執行,因此無法與用戶互動。
XPDM 與 WDDM 之間的差異:
- 在 WDDM 上,會話 0 隔離可確保服務無法存取任何使用者桌面做為安全性措施,因此,Windows 服務永遠不會提供 Direct3D 9 HAL 裝置。
注意
您無法在 Windows 服務中使用 Direct3D 9。 如需詳細資訊,請參閱 Microsoft 支援一文978635。
下表摘要說明這裡所列的差異。
安全桌面 | XPDM | WDDM (Direct3D9) | WDDM(Direct3D9Ex/Direct3D10) |
---|---|---|---|
NULLREF | 是的 | 是的 | 是的 |
哈爾 | 不 | 不 | 是的 |
裁判 | 是的 | 是的 | 是的 |
遠端桌面 | |||
NULLREF | 不 | 是的 | 是的 |
哈爾 | 不 | 是的 | 是的 |
裁判 | 是的 | 是的 | 是的 |
Windows 服務 | |||
NULLREF | 不 | 不 | 不 |
哈爾 | 不 | 不 | 不 |
裁判 | 不 | 不 | 不 |
WARP10 | N/A | N/A | 是的 |
如需 XPDM、WDDM、Direct3D9Ex 和 Direct3D 10 的詳細資訊,請參閱 Windows 中的圖形 API。
相關主題