Direct3D ドライバーの初期化
DirectDraw のサポートを初期化するために、ドライバーの DrvGetDirectDrawInfo 関数が Microsoft DirectDraw ランタイムによって呼び出されたときは、ドライバーは、その Microsoft Direct3D 機能を示すために以下の操作を行う必要があります。
ドライバーのハードウェアが 3D アクセラレーションに対応していることを示すために、DD_HALINFO 構造体の ddCaps.dwCaps メンバーに DDCAPS_3D フラグを設定します。
ドライバーのビデオ メモリ サーフェスの 3D 機能を記述する DD_HALINFO 構造体の ddCaps.ddsCaps メンバーに、DDSCAPS_Xxx フラグを設定します。 次の表にフラグの一覧を示します。
フラグ 意味 DDSCAPS_3DDEVICE
ドライバーのサーフェスを 3D レンダリングのターゲットとして使用できることを示します。
DDSCAPS_TEXTURE
ドライバーのサーフェスを 3D テクスチャ マッピングに使用できることを示します。
DDSCAPS_ZBUFFER
ドライバーのサーフェスを Z バッファーとして使用できることを示します。
ドライバーの DdGetDriverInfo コールバックをポイントする DD_HALINFO 構造体の GetDriverInfo メンバーを設定します。 ドライバーは、DdGetDriverInfo コールバックを実装済みであることを示すために、DD_HALINFO 構造体の dwFlags メンバーに DDHALINFO_GETDRIVERINFOSET フラグも設定する必要があります。
D3DHAL_CALLBACKS 構造体のメンバーを割り当てて初期化し、この構造体を DD_HALINFO 構造体の lpD3DHALCallbacks メンバーで返します。
D3DHAL_GLOBALDRIVERDATA 構造体のメンバーを割り当てて初期化し、この構造体を DD_HALINFO 構造体の lpD3DGlobalDriverData メンバーで返します。
ドライバーが Microsoft DirectX 7.0 で動作することを示すには、次の操作を行う必要があります。
Microsoft Direct3D ドライバーの初期化中に報告される D3DDEVICEDESC_V1 構造体の dwDevCaps メンバーに、D3DDEVCAPS_DRAWPRIMITIVES2EX フラグを含めます。
DD_MISCELLANEOUS2CALLBACKS 構造体の GetDriverState、CreateSurfaceEx、DestroyDDLocal メンバーを設定して、DdGetDriverInfo コールバックの GUID_Miscellaneous2Callbacks GUID に応答します。 これらは、それぞれ DDHAL_MISC2CB32_CREATESURFACEEX、DDHAL_MISC2CB32_GETDRIVERSTATE、およびDDHAL_MISC2CB32_DESTROYDDLOCAL ビットを持つ dwFlags メンバーで、Direct3D ドライバーと ORed の適切なコールバックをポイントするように設定されます。
DrvGetDirectDrawInfo が返された後、GDI は、ドライバーの初期化を完了するために、異なる GUID に対してドライバーの DdGetDriverInfo コールバックを複数回呼び出します。 Direct3D をサポートするためには、DdGetDriverInfo コールバックは以下の GUID に応答する必要があります。
GUID_D3DCallbacks3
ドライバーは、D3DHAL_CALLBACKS3 構造体のメンバーを割り当てて初期化し、DD_GETDRIVERINFODATA 構造体の lpvData メンバーでこの構造体を返す必要があります。
GUID_Miscellaneous2Callbacks
ドライバーは、DD_MISCELLANEOUS2CALLBACKS 構造体のメンバーを割り当てて初期化し、DD_GETDRIVERINFODATA 構造体の lpvData メンバーでこの構造体を返す必要があります。
GUID_D3DExtendedCaps
ドライバーは、D3DHAL_D3DEXTENDEDCAPS 構造体の適切なメンバーを割り当てて初期化し、DD_GETDRIVERINFODATA 構造体の lpvData メンバーでこの構造体を返す必要があります。
GUID_ZPixelFormats
ドライバーは、ドライバーがサポートするすべての Z バッファー形式について、DDPIXELFORMAT 構造体の適切なメンバーを割り当てて初期化し、DD_GETDRIVERINFODATA 構造体の lpvData メンバーでこれらの構造体を返す必要があります。 ドライバーが D3dDrawPrimitives2 の実装で D3DDP2OP_CLEAR 操作コードをサポートしている場合、この GUID に応答する必要があります。
GUID_D3DParseUnknownCommandCallback
ドライバーは、Direct3D ランタイム の D3DParseUnknownCommand コールバックへのポインターを格納する必要があります。 このポインターは、DD_GETDRIVERINFODATA 構造体の lpvData メンバーでドライバーに渡されます。 ドライバーの D3dDrawPrimitives2 コールバックは、ドライバーが認識しないコマンドを解析するために、D3DParseUnknownCommand コールバックを呼び出します。
詳細については、「DirectDraw ドライバーの初期化」を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示