共用方式為


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。

Direct3D 裝置