Microsoft DirectX 8.0 (C++) |
Microsoft® DirectX® をベースとするアプリケーションおよびゲームは、DirectXSetup 関数を使用して、既にインストールされている Microsoft Windows® システムに必要なシステム コンポーネントをインストールすることができる。この関数では、ディスプレイやオーディオ デバイスで適切に DirectX がサポートされるよう、ドライバのアップデートも行うことができる。DirectXSetup は、通常、アプリケーション ファイルのインストールに使用するプログラムから呼び出す。
注 : DirectXSetup 関数は、旧バージョンの DirectX システム コンポーネントを上書きする。たとえば、既に DirectX 7.0 のコンポーネントが存在するシステムに DirectX 8.0 をインストールすると、DirectX 7.0 のコンポーネントすべてが上書きされる。ただし、DirectX のコンポーネントはすべてコンポーネント オブジェクト モデル (COM) の下位互換性規則に準拠しているので、DirectX 7.0 用に記述したソフトウェアも引き続き正常に機能する。
DirectXSetup 関数は、DirectX コンポーネント、ディスプレイ ドライバ、オーディオ ドライバのアップグレードが必要なことを知らせることができる。また、これらのコンポーネントを、Windows オペレーティング システムに悪影響を与えることなしにアップグレードできるかどうかも判断できる。これがいわゆるセーフ アップグレードである。アップグレードの際は、コンピュータ上で動作しているアプリケーションだけでなく、オペレーティング システムに対する安全性も考慮する。また、Windows にとっては安全でも、一部のハードウェア依存アプリケーションに悪影響を与えてしまう場合もある。
デフォルトでは、DirectXSetup 関数は安全なアップグレードのみを実行する。デバイス ドライバのアップグレードによって Windows の動作に悪影響が及ぶ可能性がある場合、アップグレードは行われない。
セットアップ処理中、DirectSetup は置き換えるシステム コンポーネントとドライバのバックアップ コピーを作成する。これらのコピーは、問題が発生した場合に復元するためのものである。
ディスプレイ ドライバまたはオーディオ ドライバをアップグレードするとき、DirectXSetup 関数は、Microsoft 社が作成したデータベースを利用してアップグレード プロセスを管理する。このデータベースには、Microsoft 社、ハードウェアの製造元、またはハードウェアの販売元から提供されている既存のドライバについての情報が含まれている。また、Microsoft 社やその他のサイトで行われたテスト基づくそれぞれのドライバのアップグレード状況も記録されている。
DirectXSetup 関数を実行したら、戻り値をチェックする。戻り値が DSETUPERR_SUCCESS_RESTART の場合は、再起動するまで変更内容が有効にならないことをユーザーに知らせ、すぐに再起動するかどうか選択させる。この方法については、Dinstall サンプル アプリケーションの Dinstall.c の例を参照すること。