Microsoft DirectX 8.0

CAggDirectDraw クラス

CAggDirectDraw クラスの階層

CAggDirectDraw クラスは IDirectDraw インターフェイスを集成する。Microsoft® DirectDraw® のインターフェイス (IDirectDraw および IDirectDrawSurface) は本来集成することができるが、この機能は現在実装されていない。Microsoft DirectShow® のさまざまなパーツは DirectDraw インターフェイスの集成を必要とする。特に、ビデオ レンダラは、IDirectDraw および IDirectDrawSurface を公開するメディア サンプルを渡す。このクラスおよび CAggDrawSurface クラスは、DirectDraw クラスのメソッドを再公開し、集成できるようにする。

このクラスのコンストラクタ以外の各メンバ関数、SetDirectDraw および NonDelegatingQueryInterface は、パラメータを渡して IDirectDraw インターフェイスの対応するメソッドを呼び出す。

プロテクト データ メンバ

m_pDirectDraw DirectDraw オブジェクト。

メンバ関数

CAggDirectDraw CAggDirectDraw オブジェクトを作成する。
SetDirectDraw このクラスによって集成される DirectDraw オブジェクトを設定する。

オーバーライド可能なメンバ関数

NonDelegatingQueryInterface インターフェイスを取得し、参照カウントをインクリメントする。

実装される IDirectDraw メソッド

以下の IDirectDraw メソッドが実装される。詳細については、DirectDraw のドキュメントを参照すること。

Compact ビデオ カード上のすべてのサーフェス メモリを連続ブロックに移動し、最大空きメモリ チャンクを使用可能にする。
CreateClipper DirectDrawClipper オブジェクトを作成する。
CreatePalette この DirectDraw オブジェクトに対する DirectDrawPalette オブジェクトを作成する。
CreateSurface この DirectDraw オブジェクトに対する DirectDrawSurface オブジェクトを作成する。
DuplicateSurface DirectDrawSurface オブジェクトを複製する。
EnumDisplayModes ハードウェアが DirectDraw オブジェクトを介して公開するディスプレイ モードのうち、提供されたサーフェス記述と互換性があるすべてのディスプレイ モードを列挙する。
EnumSurfaces 指定された検索基準に合う、既存のまたは可能なサーフェスをすべて列挙する。
FlipToGDISurface GDI が書き込むサーフェスをプライマリ サーフェスにする。
GetCaps デバイス ドライバ (ハードウェア) やハードウェア エミュレーション レイヤ (HEL) の能力 (残りの能力ではない) を格納する。
GetDisplayMode 現在のディスプレイ モードを取得する。
GetFourCCCodes DirectDraw オブジェクトによってサポートされる FOURCC コードを取得する。
GetGDISurface GDI がプライマリ サーフェスとして処理するサーフェス メモリを現在示す DirectDrawSurface オブジェクトを取得する。
GetMonitorFrequency DirectDraw オブジェクトが動作するモニタの周波数を取得する。
GetScanLine モニタ上で現在描画されている走査線を取得する。
GetVerticalBlankStatus 垂直同期の状態を取得する。
Initialize DirectDraw オブジェクトを初期化する。
RestoreDisplayMode プライマリ サーフェスのディスプレイ デバイス ハードウェアのモードを、CAggDirectDraw::SetDisplayMode メンバ関数が呼び出される前の状態にリセットする。
SetCooperativeLevel アプリケーションの最上位動作を決定する。
SetDisplayMode ディスプレイ デバイス ハードウェアのモードを設定する。
WaitForVerticalBlank 呼び出し元が垂直同期間隔と同期できるようにする。

CAggDirectDraw::CAggDirectDraw

CAggDirectDraw クラス

CAggDirectDraw オブジェクトを作成する。

構文

CAggDirectDraw(
TCHAR *pName,
LPUNKNOWN pUnk
    );

パラメータ

pName
オブジェクトの名前へのポインタ。デバッグのために使用される。
pUnk
このオブジェクトの所有者へのポインタ。NULL 以外の場合、IUnknown の呼び出しはこのオブジェクトに委任される。

戻り値

戻り値なし。

注意

このメンバ関数は、CUnknown::CUnknown 基底クラス コンストラクタを呼び出し、m_pDirectDraw メンバ変数を NULL に設定する。

CAggDirectDraw::NonDelegatingQueryInterface

CAggDirectDraw クラス

インターフェイスを取得し、参照カウントをインクリメントする。

構文

HRESULT NonDelegatingQueryInterface(
REFIID riid,
void **ppv
    );

パラメータ

riid
参照識別子。
ppv
インターフェイスへのポインタのアドレス。

戻り値

ppv が無効な場合は、E_POINTER を返す。クエリが成功した場合は NOERROR、失敗した場合は E_NOINTERFACE を返す。

注意

このメンバ関数は、INonDelegatingUnknown::NonDelegatingQueryInterface メソッドを実装する。デフォルトでは、IDirectDraw への参照を渡し、CUnknown::NonDelegatingQueryInterface メンバ関数を呼び出して、基底クラスのインターフェイス参照を取得する。このクラスをオーバーライドして、派生クラスで追加されたインターフェイスを返す。

CAggDirectDraw::SetDirectDraw

CAggDirectDraw クラス

このクラスによって集成される DirectDraw オブジェクトを設定する。

構文

void SetDirectDraw(
LPDIRECTDRAW pDirectDraw
    );

パラメータ

pDirectDraw
集成される IDirectDraw オブジェクトへのポインタ。

戻り値

戻り値なし。

注意

このメンバ関数は、m_pDirectDraw データ メンバを pDirectDraw パラメータに設定する。