次の方法で共有


Multiple-Monitor操作 (Direct3D 9)

デバイスが全画面表示操作で正常にリセット (IDirect3DDevice9::Reset) または作成 (IDirect3D9::CreateDevice) されると、デバイスを作成した Direct3D オブジェクトは、そのシステム上のすべてのアダプターを所有しているとマークされます。 この状態は排他モードと呼ばれ、Direct3D オブジェクトは排他モードを所有します。 排他モードとは、他の Direct3D オブジェクトによって作成されたデバイスが、全画面表示操作を想定することも、ビデオ メモリを割り当てることもできないということです。 さらに、Direct3D オブジェクトが排他モードを想定している場合、全画面表示になったデバイス以外のすべてのデバイスは失われた状態になります。 詳細については、「 紛失したデバイス (Direct3D 9)」を参照してください。

排他モードと共に、Direct3D オブジェクトには、デバイスが使用するフォーカス ウィンドウが通知されます。 その Direct3D オブジェクトが所有する最終的な全画面表示デバイスがウィンドウ モードにリセットされるか破棄されると、排他モードが解放されます。

Direct3D オブジェクトが排他モードを所有している場合、デバイスは 2 つのカテゴリに分けることができます。 デバイスの最初のカテゴリには、次の特性があります。

  • これらは、全画面表示のデバイスを作成したのと同じ Direct3D オブジェクトによって作成されます。
  • これらは、全画面表示のデバイスと同じフォーカス ウィンドウを持っています。
  • これらは、すべての全画面表示デバイスとは異なるアダプターを表します。

このカテゴリのデバイスには、リセットまたは作成する機能に関する制限はなく、失われた状態に配置されません。 このカテゴリのデバイスは、全画面表示モードにすることもできます。

最初のカテゴリに分類されないデバイス (別の Direct3D オブジェクトによって作成され、別のフォーカス ウィンドウで作成され、既に全画面表示のデバイスを使用してアダプター用に作成されたデバイス) は、排他モードが失われるまでリセットできず、失われた状態を維持できません。 その結果、マルチモニター アプリケーションでは、複数のデバイスを全画面表示モードにすることができますが、これらのすべてのデバイスが異なるアダプター用であり、同じ Direct3D オブジェクトによって作成され、同じフォーカス ウィンドウを共有している場合に限られます。

シーンの表示