Microsoft DirectX 8.0 (C++)

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::EnumDevicesBySemanticsIDirectInputDevice8::SetActionMapIDirectInput8::ConfigureDevicesIDirectInputDevice8::BuildActionMapアクション マッピング