次の方法で共有


DIDEVICEINSTANCE

DirectInput デバイスのインスタンスを表します。この構造体は、IDirectInput8::EnumDevicesIDirectInput8::EnumDevicesBySemantics、および IDirectInputDevice8::GetDeviceInfo メソッドで使用されます。

typedef struct DIDEVICEINSTANCE {
    DWORD dwSize;
    GUID guidInstance;
    GUID guidProduct;
    DWORD dwDevType;
    TCHAR tszInstanceName[MAX_PATH];
    TCHAR tszProductName[MAX_PATH];
    GUID guidFFDriver;
    WORD wUsagePage;
    WORD wUsage;
} DIDEVICEINSTANCE, *LPDIDEVICEINSTANCE;

メンバ

  • dwSize
    この構造体のサイズ (バイト)。構造体を使用する前に、このメンバーを初期化する必要があります。
  • guidInstance
    デバイスのインスタンスの一意な識別子です。アプリケーションは、このインスタンスのグローバル一意識別子 (GUID) を構成ファイルに保存し、後で使用することができます。インスタンス GUID は、特定のコンピューターに固有です。あるコンピューターから取得されるインスタンス GUID は、他のコンピューターのインスタンス GUID とは関係していません。
  • guidProduct
    製品の一意な識別子です。この識別子は、デバイスの製造元によって設定されます。
  • dwDevType
    デバイス種類指定子。デバイス タイプ記述コードの最下位バイトは、デバイス タイプを指定します。最下位バイトの 1 つ上位のバイトは、デバイス サブタイプを指定します。この値は、ヒューマン インターフェイス デバイス (HID) を指定する DIDEVTYPE_HID と組み合わせることもできます。
  • tszInstanceName
    インスタンスのフレンドリ名です。たとえば、"Joystick 1" などです。
  • tszProductName
    製品のフレンドリ名です。
  • guidFFDriver
    フォース フィードバックに使用されるドライバーの一意な識別子です。この識別子は、ドライバーの製造元によって設定されます。
  • wUsagePage
    デバイスがヒューマン インターフェイス デバイス (HID) である場合、このメンバーには HID 使用方法ページ コードが格納されます。
  • wUsage
    デバイスがヒューマン インターフェイス デバイス (HID) である場合、このメンバーには HID 使用方法コードが格納されます。

解説 

dwDevType メンバーで使用できるように、次のデバイス タイプおよびサブタイプが 定義されています。

  • DI8DEVTYPE_1STPERSON

    一人称型のアクション ゲーム デバイスです。次のサブタイプが定義されています。

    • DI8DEVTYPE1STPERSON_LIMITED

      アクション マッピング用のデバイス オブジェクトの最小数を指定しないデバイスです。

    • DI8DEVTYPE1STPERSON_SHOOTER

      一人称型のシューティング ゲーム用に設計されたデバイスです。

    • DI8DEVTYPE1STPERSON_SIXDOF

      6 つの自由度 (3 つの直線軸と 3 つの回転軸) を備えたデバイスです。

    • DI8DEVTYPE1STPERSON_UNKNOWN

      不明なサブタイプです。

  • DI8DEVTYPE_DEVICE

    他のカテゴリに該当しないデバイスです。

  • DI8DEVTYPE_DEVICECTRL

    アプリケーションのコンテキスト内から別のタイプのデバイスの制御に使用される入力デバイスです。次のサブタイプが定義されています。

    • DI8DEVTYPEDEVICECTRL_COMMSSELECTION

      通信の選択に使用されるコントロールです。

    • DI8DEVTYPEDEVICECTRL_COMMSSELECTION_HARDWIRED

      既定の構成を使用する必要がある、再マップできないデバイスです。

    • DI8DEVTYPEDEVICECTRL_UNKNOWN

      不明なサブタイプです。

  • DI8DEVTYPE_DRIVING

    ステアリング用のデバイスです。次のサブタイプが定義されています。

    • DI8DEVTYPEDRIVING_COMBINEDPEDALS

      1 つの軸からアクセルとブレーキ ペダルの値を報告するステアリング デバイスです。

    • DI8DEVTYPEDRIVING_DUALPEDALS

      別々の軸からアクセルとブレーキ ペダルの値を報告するステアリング デバイスです。

    • DI8DEVTYPEDRIVING_HANDHELD

      ハンドル タイプのステアリング デバイスです。

    • DI8DEVTYPEDRIVING_LIMITED

      アクション マッピング対象のデバイス オブジェクトの最小数を指定しないステアリング デバイスです。

    • DI8DEVTYPEDRIVING_THREEPEDALS

      別々の軸からアクセル、ブレーキ、およびクラッチ ペダルの値を報告するステアリング デバイスです。

  • DI8DEVTYPE_FLIGHT

    フライト シミュレーション用のコントローラーです。次のサブタイプが定義されています。

    • DI8DEVTYPEFLIGHT_LIMITED

      アクション マッピング対象のデバイス オブジェクトの最小数を指定しないフライト コントローラーです。

    • DI8DEVTYPEFLIGHT_RC

      模型飛行機のリモコンをベースにしたフライト デバイスです。

    • DI8DEVTYPEFLIGHT_STICK

      ジョイスティックです。

    • DI8DEVTYPEFLIGHT_YOKE

      ヨークです。

  • DI8DEVTYPE_GAMEPAD

    ゲームパッドです。次のサブタイプが定義されています。

    • DI8DEVTYPEGAMEPAD_LIMITED

      アクション マッピング対象のデバイス オブジェクトの最小数を指定しないゲームパッドです。

    • DI8DEVTYPEGAMEPAD_STANDARD

      アクション マッピング対象のデバイス オブジェクトの最小数を指定する、標準ゲームパッドです。

    • DI8DEVTYPEGAMEPAD_TILT

      コントローラーの角度によって x 軸と y 軸のデータを報告可能なゲームパッドです。

  • DI8DEVTYPE_JOYSTICK

    ジョイスティックです。次のサブタイプが定義されています。

    • DI8DEVTYPEJOYSTICK_LIMITED

      アクション マッピング対象のデバイス オブジェクトの最小数を指定しないジョイスティックです。

    • DI8DEVTYPEJOYSTICK_STANDARD

      アクション マッピング対象のデバイス オブジェクトの最小数を指定する、標準ジョイスティックです。

  • DI8DEVTYPE_KEYBOARD

    キーボードまたはキーボード形式のデバイスです。次のサブタイプが定義されています。

    • DI8DEVTYPEKEYBOARD_UNKNOWN

      サブタイプを特定できません。

    • DI8DEVTYPEKEYBOARD_PCXT

      IBM PC/XT 83 キーボードです。

    • DI8DEVTYPEKEYBOARD_OLIVETTI

      Olivetti 102 キーボードです。

    • DI8DEVTYPEKEYBOARD_PCAT

      IBM PC/AT 84 キーボードです。

    • DI8DEVTYPEKEYBOARD_PCENH

      IBM PC 拡張 101/102 キーボードまたは Microsoft Natural キーボードです。

    • DI8DEVTYPEKEYBOARD_NOKIA1050

      Nokia 1050 キーボードです。

    • DI8DEVTYPEKEYBOARD_NOKIA9140

      Nokia 9140 キーボードです。

    • DI8DEVTYPEKEYBOARD_NEC98

      日本語 NEC PC98 キーボードです。

    • DI8DEVTYPEKEYBOARD_NEC98LAPTOP

      日本語 NEC PC98 ラップトップ キーボードです。

    • DI8DEVTYPEKEYBOARD_NEC98106

      日本語 NEC PC98 106 キーボードです。

    • DI8DEVTYPEKEYBOARD_JAPAN106

      日本語 106 キーボードです。

    • DI8DEVTYPEKEYBOARD_JAPANAX

      日本語 AX キーボードです。

    • DI8DEVTYPEKEYBOARD_J3100

      日本語 J3100 キーボードです。

  • DI8DEVTYPE_MOUSE

    マウスまたはマウス形式のデバイス (トラックボールなど) です。次のサブタイプが定義されています。

    • DI8DEVTYPEMOUSE_ABSOLUTE

      絶対軸データを返すマウスです。

    • DI8DEVTYPEMOUSE_FINGERSTICK

      フィンガースティックです。

    • DI8DEVTYPEMOUSE_TOUCHPAD

      タッチパッドです。

    • DI8DEVTYPEMOUSE_TRACKBALL

      トラックボールです。

    • DI8DEVTYPEMOUSE_TRADITIONAL

      従来型のマウスです。

    • DI8DEVTYPEMOUSE_UNKNOWN

      サブタイプを特定できません。

  • DI8DEVTYPE_REMOTE

    リモート コントロール デバイスです。次のサブタイプが定義されています。

    • DI8DEVTYPEREMOTE_UNKNOWN

      サブタイプを特定できません。

  • DI8DEVTYPE_SCREENPOINTER

    スクリーン ポインターです。次のサブタイプが定義されています。

    • DI8DEVTYPESCREENPTR_UNKNOWN

      不明なサブタイプです。

    • DI8DEVTYPESCREENPTR_LIGHTGUN

      ライト ガンです。

    • DI8DEVTYPESCREENPTR_LIGHTPEN

      ライト ペンです。

    • DI8DEVTYPESCREENPTR_TOUCH

      タッチ スクリーンです。

  • DI8DEVTYPE_SUPPLEMENTAL

    ホイールと共に使用するペダルなど、アプリケーションのメイン コントロールには適さない機能を備えた特殊デバイスです。次のサブタイプが定義されています。

    • DI8DEVTYPESUPPLEMENTAL_2NDHANDCONTROLLER

      補助のハンドル タイプ コントローラーです。

    • DI8DEVTYPESUPPLEMENTAL_COMBINEDPEDALS

      1 つの軸からアクセルとブレーキ ペダルの値を報告することが主な機能のデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_DUALPEDALS

      別々の軸からアクセルとブレーキ ペダルの値を報告することが主な機能のデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_HANDTRACKER

      手の動きを追跡するデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_HEADTRACKER

      頭の動きを追跡するデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_RUDDERPEDALS

      ラダー ペダルを供えたデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_SHIFTER

      軸からギアの選択を報告するデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_SHIFTSTICKGATE

      ボタンの状態からギアの選択を報告するデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_SPLITTHROTTLE

      2 つ以上スロットル値を報告することが主な機能のデバイスです。他にもコントロールがある場合があります。

    • DI8DEVTYPESUPPLEMENTAL_THREEPEDALS

      別々の軸からアクセル、ブレーキ、およびクラッチ ペダルの値を報告することが主な機能のデバイスです。

    • DI8DEVTYPESUPPLEMENTAL_THROTTLE

      1 つのスロットル値を報告することが主な機能のデバイスです。他にもコントロールがある場合があります。

    • DI8DEVTYPESUPPLEMENTAL_UNKNOWN

      不明なサブタイプです。

DirectX 8.0 より前のバージョンの DirectInput では、デバイス タイプおよびサブタイプの構成が多少異なります。Dinput.h の DIDEVTYPExxx の定義を参照してください。