DIDEVCAPS
DIDEVCAPS 構造体は、DirectInput デバイスの能力に関する情報を格納する。この構造体は、IDirectInputDevice7::GetCapabilities メソッドで使用される。
typedef struct DIDEVCAPS {
DWORD dwSize;
DWORD dwFlags;
DWORD dwDevType;
DWORD dwAxes;
DWORD dwButtons;
DWORD dwPOVs;
DWORD dwFFSamplePeriod;
DWORD dwFFMinTimeResolution;
DWORD dwFirmwareRevision;
DWORD dwHardwareRevision;
DWORD dwFFDriverVersion;
} DIDEVCAPS, *LPDIDEVCAPS;
メンバ
- dwSize
- この構造体のバイト単位のサイズ。IDirectInputDevice7::GetCapabilities メソッドに呼び出す前に、アプリケーションは、このメンバを初期化しておかなければならない。
- dwFlags
- デバイスに関連付けられたフラグ。この値は、以下の定数の組み合わせとなる。
- DIDC_ALIAS
- デバイスは、別の DirectInput デバイスの複製である。別名のデバイスは、デフォルトでは IDirectInput7::EnumDevices によって列挙されない。
- DIDC_PHANTOM
- このデバイスは実在しない。このデバイスは、将来提供されるかもしれないデバイスのプレースホルダである。仮想デバイスは、デフォルトでは IDirectInput7::EnumDevices によって列挙されない。
- DIDC_ATTACHED
- デバイスは、物理的にアタッチされている。
- DIDC_DEADBAND
- デバイスは、少なくとも 1 つのフォース フィードバック条件でデッドバンドをサポートしている。
- DIDC_EMULATED
- このフラグが設定されると、データはユーザー モード デバイス インターフェイス (HID など) から、またはほかのリング 3 の手段により入力される。フラグが設定されない場合、データはカーネル モード ドライバから直接入力される。
- DIDC_FORCEFEEDBACK
- デバイスは、フォース フィードバックをサポートする。
- DIDC_FFFADE
- フォース フィードバック システムは、少なくとも 1 つのエフェクトに対するフェード パラメータをサポートする。デバイスがフェードをサポートしない場合、デバイスは、DIENVELOPE 構造体のフェード レベルとフェード時間の両パラメータを無視する。
IDirectInputDevice7::GetEffectInfo メソッドの呼び出し後、個別のエフェクトがフェードをサポートしていれば、DIEFT_FFFADE フラグが設定される。
- DIDC_FFATTACK
- フォース フィードバック システムは、少なくとも 1 つのエフェクトに対するアタック パラメータをサポートする。デバイスがアタックをサポートしない場合、デバイスは、DIENVELOPE 構造体のアタック レベルとアタック時間の両パラメータを無視する。
IDirectInputDevice7::GetEffectInfo メソッドの呼び出し後、個別のエフェクトがアタックをサポートしていれば、DIEFT_FFATTACK フラグが設定される。
- DIDC_POLLEDDATAFORMAT
- 現状のデータ形式で少なくとも 1 つのオブジェクトが、割り込み駆動ではなく、ポーリングされる。これらオブジェクトのために、アプリケーションは明示的に IDirectInputDevice7::Poll メソッドを呼び出して、データを取得しなければならない。
- DIDC_POLLEDDEVICE
- デバイス上の少なくとも 1 つのオブジェクトが、割り込み駆動ではなく、ポーリングされる。これらオブジェクトのために、アプリケーションは明示的に IDirectInputDevice7::Poll メソッドを呼び出して、データを取得しなければならない。HID デバイスは、ポーリング オブジェクトと非ポーリング オブジェクトを混在して格納できる。
- DIDC_POSNEGCOEFFICIENTS
- フォース フィードバック システムは、少なくとも 1 つの条件に対して条件の 2 つの係数値をサポートする (一方は、軸の正移動、他方は、軸の負移動)。デバイスが一方の係数しかサポートしていない場合、DICONDITION 構造体の負の係数は無視される。
IDirectInputDevice7::GetEffectInfo メソッドの呼び出し後、個別の条件が正と負の係数を別々にサポートしていれば、その条件は DIEFT_POSNEGCOEFFICIENTS フラグを設定する。
- DIDC_POSNEGSATURATION
- フォース フィードバック システムは、少なくとも 1 つの条件に対して、正負の両方のフォース出力に対する最大飽和をサポートする。デバイスが一方の飽和値しかサポートしていない場合、DICONDITION 構造体の負の飽和値は無視される。
IDirectInputDevice7::GetEffectInfo メソッドの呼び出し後、個別の条件が正と負の飽和値を別々にサポートしていれば、その条件は DIEFT_POSNEGSATURATION フラグを設定する。
- DIDC_SATURATION
- フォース フィードバック システムは、少なくとも 1 つの条件に対して条件エフェクトの飽和をサポートする。デバイスが飽和をサポートしていなければ、ある条件のもとで生成されるフォースは、デバイスが生成できる最大フォースによってのみ制限される。
IDirectInputDevice7::GetEffectInfo メソッドの呼び出し後、個別の条件が飽和をサポートしていれば、その条件は DIEFT_SATURATION フラグを設定する。
- DIDC_STARTDELAY
- フォース フィードバック システムは、少なくとも 1 つのエフェクトに対する遅延パラメータをサポートする。デバイスが開始遅延をサポートしない場合、DIEFFECT 構造体の dwStartDelay メンバは無視される。
- dwDevType
- デバイス タイプ記述子。このメンバは、DIDEVICEINSTANCE 構造体の dwDevType メンバと同等な値を格納できる。
- dwAxes
- デバイス上で使用可能な軸の数。
- dwButtons
- デバイス上で使用可能なボタンの数。
- dwPOVs
- デバイス上で使用可能な視点コントローラの数。
- dwFFSamplePeriod
- 未加工のフォース コマンドを連続して再生する際の間隔の最小時間。
- dwFFMinTimeResolution
- マイクロ秒単位のデバイスの分解能の最小時間。デバイスは、すべての時間を最も近い増加値に丸める。たとえば、dwFFMinTimeResolution の値が 1000 の場合には、デバイスはすべての時間を最も近いミリ秒に丸める。
- dwFirmwareRevision
- デバイスのファームウェア リビジョン番号。
- dwHardwareRevision
- デバイスのハードウェア リビジョン番号。
- dwFFDriverVersion
- デバイス ドライバのバージョン番号。
注意
バージョン番号の付け方はデバイス メーカーによって異なる。確実なのは、新しいバージョンには以前のバージョンよりも大きい数字が付く、ということだけである。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dinput.h で宣言。
参照
DIDEVICEINSTANCE