次の方法で共有


DIDEVICEINSTANCE 構造体

DIDEVICEINSTANCE 構造体

Microsoft® 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; 
 
typedef const DIDEVICEINSTANCE  *LPCDIDEVICEINSTANCE;

メンバ

  • dwSize
    この構造体のサイズ (バイト単位)。このメンバは、構造体が使われる前に初期化されなければならない。
  • guidInstance
    デバイスのインスタンスに対する一意な識別子。アプリケーションは、このインスタンス グローバル一意識別子 (GUID) を構成ファイルに保存し、後で使うこともできる。インスタンス GUID は、コンピュータごとに固有である。1 つのコンピュータから取得されるインスタンス GUID は、他のコンピュータ上のインスタンス GUID とは無関係である。
  • guidProduct
    製品の一意な識別子。この識別子は、デバイス メーカーが設定する。
  • dwDevType
    デバイス タイプ指定子。デバイス タイプ記述コードの最下位バイトは、デバイス タイプを指定する。最下位バイトから 1 つ上位のバイトは、デバイス サブタイプを指定する。この値は、HID (Human Interface Device) を指定する DIDEVTYPE_HID と組み合わせることもできる。
  • tszInstanceName
    インスタンスの登録名。たとえば、"Joystick 1"。
  • tszProductName
    製品の登録名。
  • guidFFDriver
    フォース フィードバックに使われるドライバの一意な識別子。ドライバのメーカーがこの識別子を設定する。
  • wUsagePage
    デバイスが HID (Human Interface Device) デバイスである場合、このメンバには、HID 使用ページ コードが含まれる。
  • wUsage
    デバイスが HID (Human Interface Device) デバイスである場合、このメンバには、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

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

    • 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® keyboard キーボード。

    • 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

      2 次的ハンドヘルド コントローラ。

    • DI8DEVTYPESUPPLEMENTAL_COMBINEDPEDALS

      主機能として、単一の軸からアクセルとブレーキ ペダルの値を報告するデバイス。

    • DI8DEVTYPESUPPLEMENTAL_DUALPEDALS

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

    • DI8DEVTYPESUPPLEMENTAL_HANDTRACKER

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

    • DI8DEVTYPESUPPLEMENTAL_HEADTRACKER

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

    • DI8DEVTYPESUPPLEMENTAL_RUDDERPEDALS

      方向舵ペダルを備えたデバイス。

    • DI8DEVTYPESUPPLEMENTAL_SHIFTER

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

    • DI8DEVTYPESUPPLEMENTAL_SHIFTSTICKGATE

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

    • DI8DEVTYPESUPPLEMENTAL_SPLITTHROTTLE

      主機能として、2 つ以上のスロットル値を報告するデバイス。その他のコントロールを持つ場合がある。

    • DI8DEVTYPESUPPLEMENTAL_THREEPEDALS

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

    • DI8DEVTYPESUPPLEMENTAL_THROTTLE

      主機能として、単一のスロットル値を報告するデバイス。その他のコントロールを持つ場合がある。

    • DI8DEVTYPESUPPLEMENTAL_UNKNOWN

      不明なサブタイプ。

Microsoft DirectX® 8.0 より前のバージョンの DirectInput では、デバイス タイプとサブタイプの構成が一部異なる。Dinput.h の DIDEVTYPExxx 定義を参照すること。

構造体の情報

ヘッダー dinput.h
最低限のオペレーティング システム Windows 98