次の方法で共有


XPDM と WDDM

Direct3D 9 API は、インストールされているオペレーティング システムに応じて、Windows XP ディスプレイ ドライバー モデル (XPDM) または Windows Vista ディスプレイ ドライバー モデル (WDDM) で動作します。 2 つのドライバー モデルでの Direct3D API の動作には、いくつかの違いがあります。

  • セキュリティで保護されたデスクトップ
  • リモート デスクトップ
  • Windows サービス
  • 関連トピック

セキュリティで保護されたデスクトップ

セキュリティで保護されたデスクトップは、ユーザーが自分のデスクトップをロック (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 デバイス