XPDM と WDDM
Direct3D 9 API は、インストールされているオペレーティング システムに応じて、Windows XP ディスプレイ ドライバー モデル (XPDM) または Windows Vista ディスプレイ ドライバー モデル (WDDM) で動作します。 2 つのドライバー モデルでの 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 の分離により、サービスがセキュリティ対策としてユーザー デスクトップにアクセスできないようにするため、Direct3D 9 HAL デバイスは Windows サービスから利用できません。
手記
Windows サービスで Direct3D 9 を使用することはできません。 詳細については、Microsoft サポート記事 978635を参照してください。
次の表は、ここに示されている相違点をまとめたものです。
セキュリティで保護されたデスクトップ | XPDM | WDDM (Direct3D9) | WDDM(Direct3D9Ex/Direct3D10) |
---|---|---|---|
NULLREF | はい | はい | はい |
HAL | いいえ | いいえ | はい |
REF | はい | はい | はい |
リモート デスクトップ | |||
NULLREF | いいえ | はい | はい |
HAL | いいえ | はい | はい |
REF | はい | はい | はい |
Windows サービス | |||
NULLREF | いいえ | いいえ | いいえ |
HAL | いいえ | いいえ | いいえ |
REF | いいえ | いいえ | いいえ |
WARP10 | N/A | N/A | はい |
XPDM、WDDM、Direct3D9Ex、および Direct3D 10 の詳細については、「Windows のグラフィックス API」を参照してください。
関連トピック
-
Direct3D デバイス の