Microsoft DirectX 8.0 (C++)

COM インターフェイスの使い方

オブジェクトを作成すると、作成メソッドからインターフェイス ポインタが返される。このポインタを使用すると、そのインターフェイスの任意のメソッドにアクセスできる。ポインタに使用する構文は、C++ のメソッドの場合と同様である。次のコードは、前のトピックで示した例の拡張である。この例では、DirectPlay8 オブジェクトの作成後、CoCreateInstance から返された IDirectPlay8Peer インターフェイス ポインタを使って IDirectPlay8Peer::Initialize メソッドを呼び出し、オブジェクトを初期化している。わかりやすいように、エラー訂正コードは省略してある。

IDirectPlay8Peer*  g_pDP = NULL;
...
CoInitialize( NULL );
...
hr = CoCreateInstance( CLSID_DirectPlay8, NULL,CLSCTX_INPROC_SERVER,
                         IID_IDirectPlay8Peer, (LPVOID*) &g_pDP );
hr = g_pDP->Initialize( NULL, DirectPlayMessageHandler, 0 );