共用方式為


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 裝置都會在 Present 上指出遺失的裝置傳回碼。

  • 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 Yes Yes Yes
HAL No No Yes
REF Yes Yes Yes
遠端桌面
NullREF No Yes Yes
HAL No Yes Yes
REF Yes Yes Yes
Windows 服務
NullREF No No No
HAL No No No
REF No No No
WARP10 N/A N/A

 

如需 XPDM、WDDM、Direct3D9Ex 和 Direct3D 10 的詳細資訊,請參閱 Windows 中的圖形 API

Direct3D 裝置