Platform SDK: DirectX

コンポーネント オブジェクト モデル

[Visual Basic]

ここでは、C++ でのアプリケーション開発について説明する。Visual Basic については、「Visual Basic プログラミングについて」を参照すること。

[C++]

DirectX API の大部分は、COM を基本とするオブジェクトとインターフェイスで構成されている。COM は、インターフェイスの再利用に重点を置いたオブジェクト ベースのシステムのための土台である。また、任意の数のインターフェイスの構築を可能にするインターフェイス仕様でもある。

DirectX アプリケーションは、COM オブジェクトのインスタンスから構築される。オブジェクトとは、インターフェイスからアクセスするハードウェアやデータを表すブラック ボックスのようなものと考えることができる。コマンドは、COM インターフェイスのメソッドからオブジェクトに送信される。たとえば、ディスプレイ アダプタの現在の表示モードを DirectDraw オブジェクトから取得するには、IDirectDraw7 インターフェイスの IDirectDraw7::GetDisplayMode メソッドを呼び出す。

オブジェクトは、実行時にほかのオブジェクトにバインドし、バインド先オブジェクトが提供するインターフェイスの実装を利用することができる。また、COM オブジェクトだとわかっているオブジェクトがあり、そのオブジェクトによりサポートされているインターフェイスも知っていれば、そのオブジェクトが実行できるサービスをアプリケーション (または別のオブジェクト) から調べることができる。すべての COM オブジェクトが継承するメソッドの 1 つである QueryInterface メソッドを使うと、オブジェクトがどのインターフェイスをサポートしているかを調べ、サポートされているインターフェイスへのポインタを取得することができる。詳細については、「IUnknown インターフェイス」を参照すること。

DirectX の COM プログラミングの詳細については、以下のトピックを参照すること。