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 サービスから使用できません。

 

Note

Windows サービスでは Direct3D 9 を使用できません。 詳細については、 Microsoft サポート記事の978635を参照してください。

 

次の表は、ここに一覧表示されている違いをまとめたものです。

セキュリティで保護されたデスクトップ XPDM WDDM (Direct3D9) WDDM(Direct3D9Ex/Direct3D10)
NULLREF はい はい はい
HAL いいえ いいえ はい
REF はい はい はい
リモート デスクトップ
NULLREF いいえ はい はい
HAL いいえ はい はい
REF はい はい はい
Windows サービス
NULLREF いいえ いいえ いいえ
HAL いいえ いいえ いいえ
REF いいえ いいえ いいえ
WARP10 なし 該当なし はい

 

XPDM、WDDM、Direct3D9Ex、Direct3D 10 の詳細については、「 Windows のグラフィックス API」を参照してください。

Direct3D デバイス