DIDEVCAPS
DirectInput デバイスの機能を示します。この構造体は、IDirectInputDevice8::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
この構造体のサイズ (バイト)。IDirectInputDevice8::GetCapabilities メソッドを呼び出す前に、このメンバーをアプリケーションで初期化する必要があります。 - dwFlags
デバイスに関連したフラグ。この値は、次に示すものの組み合わせです。DIDC_ALIAS
デバイスは別の DirectInput デバイスの複製です。エイリアス デバイスは、既定では IDirectInput8::EnumDevices によって列挙されません。DIDC_ATTACHED
デバイスはユーザーのコンピューターに物理的に接続されています。DIDC_DEADBAND
デバイスは少なくとも 1 つのフォース フィードバック条件に対してデッドバンドをサポートします。DIDC_EMULATED
このフラグが設定されると、データはヒューマン インターフェイス デバイスなどのユーザー モード デバイス インターフェイスから入力されるか、その他のリング 3 手段によって入力されます。このフラグが設定されない場合、データはカーネル モード ドライバーから直接入力されます。DIDC_FORCEFEEDBACK
デバイスはフォース フィードバックをサポートします。DIDC_FFFADE
フォース フィードバック システムは、少なくとも 1 つのエフェクトに対してフェード パラメーターをサポートします。デバイスがフェードをサポートしない場合、DIENVELOPE 構造体のフェード レベルとフェード時間のメンバーはデバイスに無視されます。IDirectInputDevice8::GetEffectInfo メソッドを呼び出した後、フェードがそのエフェクトに対してサポートされていれば、個々のエフェクトによって DIEFT_FFFADE フラグが設定されます。
DIDC_FFATTACK
フォース フィードバック システムは、少なくとも 1 つのエフェクトに対してアタック パラメーターをサポートします。デバイスがアタックをサポートしない場合、DIENVELOPE 構造体のアタック レベルとアタック時間のメンバーはデバイスに無視されます。IDirectInputDevice8::GetEffectInfo メソッドを呼び出した後、アタックがそのエフェクトに対してサポートされていれば、個々のエフェクトによって DIEFT_FFATTACK フラグが設定されます。
DIDC_HIDDEN
キーボードおよびマウスのイベントを生成できるようにデバイス ドライバーによって作成される、架空のデバイス。このようなデバイスは、IDirectInput8::EnumDevices によって列挙されたり、IDirectInput8::ConfigureDevices によって構成されたりすることは通常ありません。DIDC_PHANTOM
プレースホルダー。ファントム デバイスは、既定では IDirectInput8::EnumDevices によって列挙されません。DIDC_POLLEDDATAFORMAT
現在のデータ フォーマット内で少なくとも 1 つのオブジェクトがポーリングされています (割り込み駆動でなく)。これらのオブジェクトに対しては、アプリケーションは明示的に IDirectInputDevice8 インターフェイス メソッドを呼び出してデータを取得する必要があります。DIDC_POLLEDDEVICE
デバイス上で少なくとも 1 つのオブジェクトがポーリングされています (割り込み駆動でなく)。これらのオブジェクトに対しては、アプリケーションは明示的に IDirectInputDevice8 インターフェイス メソッドを呼び出してデータを取得する必要があります。HID デバイスは、ポーリングされるオブジェクトとポーリングされないオブジェクトを混合して含むことができます。DIDC_POSNEGCOEFFICIENTS
フォース フィードバック システムは、少なくとも 1 つの条件に対して、2 つの係数値 (1 つは軸の正方向の変位を示し、1 つは軸の負方向の変位を示す) をサポートします。デバイスが両方の係数をサポートしない場合は、DICONDITION 構造体の負の係数が無視されます。IDirectInputDevice8::GetEffectInfo メソッドの呼び出し後、条件に対して正と負で別々の係数がサポートされていれば、その個々の条件によって DIEFT_POSNEGCOEFFICIENTS フラグが設定されます。
DIDC_POSNEGSATURATION
フォース フィードバック システムは、少なくとも 1 つの条件に対して、正と負の両方でフォース出力の最大飽和をサポートします。デバイスが両方の飽和値をサポートしない場合は、DICONDITION 構造体の負の飽和値が無視されます。IDirectInputDevice8::GetEffectInfo メソッドの呼び出し後、条件に対して正と負で別々の飽和値がサポートされていれば、その個々の条件によって DIEFT_POSNEGSATURATION フラグが設定されます。
DIDC_SATURATION
フォース フィードバック システムは、少なくとも 1 つの条件に対して、条件エフェクトの飽和をサポートします。デバイスが飽和をサポートしない場合、条件によって生成されるフォースは、デバイスが生成できる最大のフォースによってのみ制限されます。IDirectInputDevice8::GetEffectInfo メソッドを呼び出した後、飽和がそのエフェクトに対してサポートされていれば、個々の条件によって DIEFT_SATURATION フラグが設定されます。
DIDC_STARTDELAY
フォース フィードバック システムは、少なくとも 1 つのエフェクトに対して開始ディレイ パラメーターをサポートします。デバイスが開始ディレイをサポートしない場合は、DIEFFECT 構造体の dwStartDelay メンバーが無視されます。
- dwDevType
デバイス種類指定子。このメンバーに格納される値は、DIDEVICEINSTANCE 構造体の dwDevType メンバーにある値と同じです。 - dwAxes
デバイス上で使用可能な軸の数。 - dwButtons
デバイス上で使用可能なボタンの数。 - dwPOVs
デバイス上で使用可能な視点コントローラーの数。 - dwFFSamplePeriod
Raw フォース コマンドを連続して再生する間隔の最小時間 (マイクロ秒)。 - dwFFMinTimeResolution
デバイスが解釈できる最小時間 (マイクロ秒)。デバイスは、サポートされる最も近い増分に時間を丸めます。たとえば、dwFFMinTimeResolution の値が 1000 ならば、デバイスは最も近いミリ秒に時間を丸めます。 - dwFirmwareRevision
デバイスのファームウェア リビジョン。 - dwHardwareRevision
デバイスのハードウェア リビジョン。 - dwFFDriverVersion
デバイス ドライバーのバージョン番号。
解説
バージョン番号の意味は、デバイスの製造元によって異なります。ただ 1 つ確実なことは、バージョンが新しいほど番号が大きいことです。