Microsoft DirectX 8.0 (C++)

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[MAX_PATH]
インスタンスの登録名。たとえば、"Joystick 1"。
tszProductName[MAX_PATH]
製品の登録名。
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 ナチュラル キーボード
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 定義を参照すること。

動作環境

  Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : dinput.h で宣言。