デスクトップ重複 API 対応アプリケーションが個別の GPU に対して実行されたときに生成されるエラー

この記事では、デスクトップ重複 API 対応アプリケーションが個別の GPU に対して実行されたときに発生するエラーの解決策について説明します。

適用対象: Windows 8.1
元の KB 番号: 3019314

現象

次のような状況で問題が発生します。

  • Windows 8.1を実行しているコンピューターがあります。
  • デスクトップ複製 API (DDA) 対応アプリケーションがあり、DDA を呼び出してデスクトップ イメージを複製します。
  • コンピューター上のディスプレイ アダプターが Microsoft ハイブリッド システムで実行されています。

このシナリオでは、アプリケーションが Microsoft ハイブリッド システム上の個別の GPU に対してデスクトップ イメージを複製しようとすると、アプリケーションが正しく実行されないか、次のいずれかのエラーが発生する可能性があります。

0x80070005を使用して Windows スワップチェーンを作成できませんでした

CDesktopCaptureDWM: IDXGIOutput1::D uplicateOutput に失敗しました: 0x887a0004

原因

この問題は、DDA が Microsoft ハイブリッド システム上の個別の GPU に対する実行をサポートしていないために発生します。 設計上、このようなシナリオでは、呼び出しがエラー コードDXGI_ERROR_UNSUPPORTEDと共に失敗します。

解決方法

この問題を回避するには、Microsoft ハイブリッド システム上の個別の GPU ではなく、統合 GPU でアプリケーションを実行します。

詳細

この問題が発生すると、IDXGIOutput1::D uplicateOutput メソッドは失敗し、エラー コードDXGI_ERROR_UNSUPPORTEDを返します。

たとえば、 この DXGI デスクトップの重複サンプル は、この問題の影響を受けます。