次の方法で共有


OpenGL のインストール可能なクライアント ドライバーの読み込み

OpenGL ランタイムは、レジストリにアクセスして、読み込む OpenGL ICD (Installable Client Driver) を決定します。 OpenGL ICD を読み込むために、OpenGL ランタイムは次のことを行います。

  • OpenGL ICD に関連付けられている名前、バージョン、フラグを決定します。これは、pData パラメーターが指す D3DKMT_QUERYADAPTERINFO 構造体の Type メンバーに設定された KMTQAITYPE_UMOPENGLINFO 値を使用して D3DKMTQueryAdapterInfo 関数を呼び出すことによって行われます。

  • D3DKMTQueryAdapterInfo が返す OpenGL ICD のバージョン番号を確認して、OpenGL ICD のバージョンを検証します。

  • OpenGL ICD の名前を使用して OpenGL ICD を読み込みます。

  • OpenGL ICD の関数へのアクセスを初期化します。

OpenGL ICD の名前を見つけるために、 D3DKMTQueryAdapterInfo は次のキーのレジストリを検索します。

HKLM/System/CurrentControlSet/Control/Class/{Adapter GUID}/0000/

このキーには、Microsoft Direct3D ユーザーモード ディスプレイ ドライバーの名前も含まれています。 このキーには、32 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバーの 4 つのレジストリ エントリと、64 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバーの 4 つのエントリが含まれています。 次のエントリは、32 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバー用です。

入力 Type 説明
UserModeDriverName REG_SZ オペレーティング システムが OpenGL ICD をサポートしているかどうかに関係なく、Direct3D レンダリング デバイスの操作に必要な Direct3D ユーザーモード ディスプレイ ドライバーの名前。
OpenGLDriverName REG_SZ OpenGL ICD の名前。 たとえば、OpenGL ICD が Mydriver.dll である場合、このエントリの値は Mydriver.dll になります。
OpenGLVersion REG_DWORD OpenGL ICD のバージョンを検証するために OpenGL ランタイムが使用する OpenGL ICD のバージョン番号。
OpenGLFlags REG_DWORD フラグ ビットマスク。 現在、互換性のためにビット 0 (0x00000001) が設定されています。 ビット 1 (0x00000002) が設定されている場合、OpenGL ランタイムは、ICD のスワップバッファー関数を呼び出す前に、ICD の finish 関数を呼び出しません。

次のエントリは、64 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバー用です。

入力 Type 説明
UserModeDriverNameWow REG_SZ 64 ビット Windows Vista 用の 32 ビット Microsoft Direct3D ユーザーモード ディスプレイ ドライバーの名前。
OpenGLDriverNameWow REG_SZ 64 ビット Windows Vista の 32 ビット OpenGL ICD の名前。
OpenGLVersionWow REG_DWORD 64 ビット Windows Vista 用の 32 ビット OpenGL ICD のバージョン番号。
OpenGLFlagsWow REG_DWORD 64 ビット Windows Vista 用の 32 ビット OpenGL ICD のフラグ ビットマスク。