DIACTION
ゲーム アクションとデバイス機能の 1 対 1 のマッピングを表す。DIACTIONFORMAT 構造体には、DIACTION 構造体の配列が含まれる。
typedef struct _DIACTION {
UINT_PTR uAppData;
DWORD dwSemantic;
DWORD dwFlags;
union {
LPCSTR lptszActionName;
UINT uResIdString;
};
GUID guidInstance;
DWORD dwObjID;
DWORD dwHow;
} DIACTION, *LPDIACTION;
typedef const DIACTION *LPCDIACTION;
メンバ
- uAppData
- アクションに関連付けられたコントロールの状態が変化するときに、IDirectInputDevice8::GetDeviceData がアプリケーションに返す、アプリケーション定義の UINT 値のアドレス。この値は DIDEVICEOBJECTDATA 構造体の uAppData メンバに返される。通常、この値はデバイス オブジェクトに関連付けられたアプリケーション固有のアクションの識別子であるが、関数ポインタも使用できる。
- dwSemantic
- ジョイスティックの場合、このアプリケーション ジャンルに定義された仮想コントロールを表すアクション マッピング定数、またはそのジャンルに定義されていないコントロールの定数。キーボード、マウス、または Microsoft® DirectPlay® 音声デバイスの場合、特定のデバイス オブジェクトを表す定数。「アクション マッピング定数」を参照すること。
- dwFlags
- 特定の属性または処理を要求するために使用されるフラグ。ゼロ、または次のフラグを指定する。
- DIA_APPFIXED
- Microsoft DirectInput® でアクションのマッピングを変更することはできない。
- DIA_APPMAPPED
- dwObjID メンバが有効であり、IDirectInputDevice8::BuildActionMap はアプリケーション定義のマッピングを上書きしない。
- DIA_APPNOMAP
- このアクションをマップしない。
- DIA_FORCEFEEDBACK
- アクションをアクチュエータまたはトリガにマップする。
- DIA_NORANGE
- このアクションにはデフォルトの範囲を設定しない。このフラグは絶対軸アクションにのみ設定できる。
- lptszActionName
- アプリケーション定義のアクション名。この文字列は、IDirectInput8::ConfigureDevices の呼び出し時にデバイスのプロパティ シートに表示される。
- uResIdString
- このアクションで使用される文字列のリソース識別子。このリソースのモジュール インスタンスは、この構造体を含む DIACTIONFORMAT 構造体の hInstString メンバ内に指定される。
- guidInstance
- 特定のデバイスが要求されている場合、デバイスのインスタンス GUID。それ以外の場合は GUID_NULL。
- dwObjID
- コントロール識別子。DIDFT_GETINSTANCE および DIDFT_GETTYPE マクロを使って、この値からインスタンスとタイプを取得する。
- dwHow
- アクションを構成するために DirectInput で使用されたマッピングの仕組みを示す値。IDirectInputDevice8::BuildActionMap がこの構造体を返すときに、このメンバが設定される。次の値が定義されている。
- DIAH_APPREQUESTED
- アプリケーションがマッピングを構成し、BuildActionMap の呼び出し時にデバイス (guidInstance) およびデバイス オブジェクト (dwObjID) が指定された。
- DIAH_DEFAULT
- ほかのマッピング情報がないため、DirectInput がマッピングを決定した。
- DIAH_ERROR
- エラーが発生した。アクションがデバイスのコントロールと一致しない。アクション マップの設定時に、このアクションは無視される。
- DIAH_HWAPP
- このゲームのハードウェア メーカーがマッピングを指定した。
- DIAH_HWDEFAULT
- このジャンルのハードウェア メーカーがマッピングを指定した。
- DIAH_UNMAPPED
- 適切なデバイス オブジェクトが見つからなかった。
- DIAH_USERCONFIG
- ユーザーがマッピングを構成した。
アクション マップが IDirectInputDevice8::SetActionMap に渡される場合、このメンバは無視される。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : dinput.h で宣言。
参照
IDirectInput8::EnumDevicesBySemantics、IDirectInputDevice8::SetActionMap、IDirectInput8::ConfigureDevices、IDirectInputDevice8::BuildActionMap、アクション マッピング