Platform SDK: DirectX |
ここでは、C および C++ でのアプリケーション開発について説明する。Visual Basic については、「Direct3D 直接モード Visual Basic チュートリアル」を参照すること。
Enumeration アプリケーションは、次の構造体を使用して、列挙された Direct3D デバイスについての情報を保持する。
struct D3DDEVICEINFO { // D3D デバイス情報。 CHAR strDesc[40]; GUID* pDeviceGUID; D3DDEVICEDESC7 ddDeviceDesc; BOOL bHardware; // DDraw ドライバ情報。 GUID* pDriverGUID; DDCAPS ddDriverCaps; DDCAPS ddHELCaps; // DDraw モード情報。 DDSURFACEDESC2 ddsdMode; BOOL bFullscreen; // 内部使用の場合 (アプリケーションではこれらは必要ない)。 GUID guidDevice; GUID guidDriver; DDSURFACEDESC2 ddsdModes[100]; DWORD dwNumModes; DWORD dwCurrentMode; BOOL bDesktopCompatible; };
Enumeration アプリケーションでは、次の呼び出しによって列挙を初期化する。
INT UserDlgSelectDriver( HWND hwndParent ) { // ドライバ、デバイス、およびモードを列挙する。 DirectDrawEnumerateEx( DriverEnumCallback, NULL, DDENUM_ATTACHEDSECONDARYDEVICES | DDENUM_DETACHEDSECONDARYDEVICES | DDENUM_NONDISPLAYDEVICES );
上記のコードでは、システムで使用できるドライバ、デバイス、およびディスプレイ モードを列挙するのに DirectDrawEnumerateEx メソッドを使用している。第 1 パラメータ DriverEnumCallback, は、列挙される個々の DirectDraw で有効な HAL の記述で呼び出される DDEnumCallbackEx 関数のアドレスである。
アプリケーションのデバイス列挙プロセスは、次のステップに分かれる。
デバイス列挙を使用するアプリケーションの最初のステップは、DirectDraw ドライバへの参照の取得である。ドライバ列挙については、「ステップ 1.1 : ドライバ情報を列挙する」で説明する。
デバイス列挙の開始の詳細については、「デバイス列挙の開始」を参照すること。