Microsoft DirectX 8.0 |
Microsoft® DirectShow® は複数のプラットフォームで機能しなければならない。特に、DirectDraw® 機能を持たない Microsoft Windows NT® 3.51 上でも実行される。したがって、フィルタは DirectDraw ライブラリに静的にリンクできない。このプラットフォームへの依存を容易に処理するために、このクラスはライブラリのロードとアンロード、および初期 IDirectDraw インターフェイスの作成を管理する。
メンバ関数
CLoadDirectDraw CLoadDirectDraw オブジェクトを作成する。 GetDirectDraw IDirectDraw インターフェイスへのポインタを取得する。 IsDirectDrawLoaded DirectDraw がロードされていることを確認する。 IsDirectDrawVersion1 現在のシステムにインストールされている DirectDraw のバージョンをチェックする。 LoadDirectDraw DirectDraw ライブラリをロードして初期化する。 ReleaseDirectDraw IDirectDraw インターフェイスを解放する。
CLoadDirectDraw オブジェクトを作成する。
構文
CLoadDirectDraw(void);
戻り値
戻り値なし。
DirectDraw インターフェイスを取得する。
構文
LPDIRECTDRAW GetDirectDraw(void);
戻り値
IDirectDraw インターフェイスへのポインタを返す。
注意
このメンバ関数を呼び出す前に CLoadDirectDraw::LoadDirectDraw を呼び出し、処理が終了してインターフェイスを解放するには CLoadDirectDraw::ReleaseDirectDraw メンバ関数を呼び出す。
このオブジェクトが DirectDraw をロードしたことを確認する。
構文
HRESULT IsDirectDrawLoaded(void);
戻り値
ロードされている場合は、S_OK を返す。それ以外の場合は、S_FALSE を返す。
現在のシステムにインストールされている DirectDraw のバージョンをチェックする。
構文
BOOL IsDirectDrawVersion1(void);
戻り値
インストールされている DirectDraw のバージョンが IDirectDraw2 インターフェイスをサポートしていない場合は TRUE を返す。m_pDirectDraw データ メンバが NULL の場合、またはインストールされている DirectDraw のバージョンが IDirectDraw2 をサポートしている場合は FALSE を返す。
注意
ビデオ レンダラは、インストールされているどのバージョンの DirectDraw が IDirectDraw2 インターフェイスによってサポートされるフルスクリーン再生などの特定のタスクを実行するかを認識していなければならない。
指定された領域に DirectDraw ライブラリをロードして初期化する。
構文
HRESULT LoadDirectDraw(
LPSTR szDevice
);
パラメータ
- szDevice
- このパラメータはオプションである。このメソッドはベース描画領域に DirectDraw をロードする。
戻り値
DirectDraw が正しくロードされた場合は S_OK を返す。それ以外の場合は E_NOINTERFACE を返す。
注意
DirectDraw は常に使用できるわけではないので、アプリケーションはライブラリに静的にリンクできない。したがって、このメンバ関数はライブラリをロードし、関数のエントリ ポイント アドレスを取得し、関数を呼び出してドライバ オブジェクトを作成する。このメンバ関数は、IDirectDraw インターフェイスを取得する CLoadDirectDraw::GetDirectDraw を呼び出す前に呼び出す。
IDirectDraw インターフェイスを解放する。
構文
void ReleaseDirectDraw(void);
戻り値
戻り値なし。
注意
このメンバ関数は、以前にロードされた IDirectDraw インターフェイスを解放するために呼び出される。すべての参照カウントが解放された場合にのみこれを呼び出す。