DIACTION
1 つのゲーム アクションから 1 つのデバイス セマンティクスへのマッピングを記述します。DIACTION 構造体の配列は、DIACTIONFORMAT 構造体に含まれています。
構文
typedef struct _DIACTION {
UINT_PTR uAppData;
DWORD dwSemantic;
DWORD dwFlags;
union {
LPCTSTR lptszActionName;
UINT uResIdString;
};
GUID guidInstance;
DWORD dwObjID;
DWORD dwHow;
} DIACTION, *LPDIACTION;
typedef const DIACTION *LPCDIACTION;
メンバー
uAppData
アクションに関連したコントロールの状態が変化したときに、IDirectInputDevice8::GetDeviceData からアプリケーションに返されるアプリケーション定義の UINT 値のアドレス。この値は、DIDEVICEOBJECTDATA 構造体の uAppData メンバーに返されます。通常は、デバイス オブジェクトに関連したアプリケーション固有のアクションの識別子ですが、関数ポインターの場合もあります。dwSemantic
ジョイスティックの場合は、仮想コントロールを表すこのアプリケーション ジャンルに定義済みのアクション マッピング定数、またはそのジャンルに定義されていないコントロールの定数。キーボードまたはマウスの場合は、特定のデバイス オブジェクトを表す定数。「アクション マッピング定数」を参照してください。dwFlags
特定の属性または処理を要求するために使用されるフラグ。ゼロ、または次のいずれかの値 (複数可) を指定します。- DIA_APPFIXED
このアクションは DirectInput によって再マップできません。 - DIA_APPMAPPED
dwObjID メンバーが有効で、IDirectInputDevice8::BuildActionMap はアプリケーション定義のマッピングを上書きしません。 - DIA_APPNOMAP
このアクションはマップされません。 - DIA_FORCEFEEDBACK
アクションはアクチュエーターまたはトリガーにマップする必要があります。 - DIA_NORANGE
このアクションに対して既定の範囲は設定されません。このフラグは、絶対軸アクションに対してのみ設定できます。
- DIA_APPFIXED
lptszActionName
アプリケーション定義のアクション名。この文字列は、IDirectInput8::ConfigureDevices が呼び出されたときにデバイス プロパティ シートに表示されます。uResIdString
このアクションに使用される文字列のリソース識別子。このリソースのモジュール インスタンスは、この構造体を含む DIACTIONFORMAT 構造体の hInstString メンバーに指定されます。guidInstance
特定のデバイスが要求されている場合は、デバイスのインスタンス グローバル一意識別子 (GUID)。そうでなければ GUID_NULL。dwObjID
コントロール識別子。この値からインスタンスと種類を取得するには、DIDFT_GETINSTANCE マクロと DIDFT_GetType マクロを使用します。dwHow
構造体が IDirectInputDevice8::BuildActionMap から返されるときに、このメンバーは DirectInput がアクションの構成に使用したマッピング方式を示す値を受け取ります。アクション マップが IDirectInputDevice8::SetActionMap に渡される場合には、このメンバーは無視されます。次の値が定義されています。- DIAH_APPREQUESTED
マッピングはアプリケーションによって構成されており、IDirectInputDevice8::BuildActionMap の呼び出し時にデバイス (guidInstance) とデバイス オブジェクト (dwObjID) が指定されました。 - DIAH_DEFAULT
他のマッピング情報が存在しないため、マッピングは DirectInput によって決定されました。 - DIAH_ERROR
エラーが発生しました。アクションはデバイス上のコントロールと一致しません。アクション マップの設定時に、このアクションは無視されます。 - DIAH_HWAPP
マッピングは、このゲームのハードウェア製造元によって指定されました。 - DIAH_HWDEFAULT
マッピングは、このジャンルのハードウェア製造元によって指定されました。 - DIAH_UNMAPPED
該当するデバイス オブジェクトが見つかりませんでした。 - DIAH_USERCONFIG
マッピングはユーザーによって構成されました。
- DIAH_APPREQUESTED
関連項目
IDirectInput8::EnumDevicesBySemantics, IDirectInputDevice8::SetActionMap, IDirectInput8::ConfigureDevices, IDirectInputDevice8::BuildActionMap