DIACTION 構造体

DIACTION 構造体

ゲーム アクションとデバイス機能の 1 対 1 のマッピングを表す。DIACTIONFORMAT 構造体には、DIACTION 構造体の配列が含まれる。

構文

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
    ジョイスティックの場合、このアプリケーション ジャンルに定義された仮想コントロールを表すアクション マッピング定数、またはそのジャンルに定義されていないコントロールの定数。キーボード、マウス、または 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
    IDirectInputDevice8::BuildActionMap がこの構造体を返すときに、アクションを構成するために DirectInput で使われたマッピングのしくみを示す値をこのメンバが受け取る。アクション マップが IDirectInputDevice8::SetActionMap に渡されるときに、このメンバは無視される。以下の値が定義されている。
    • DIAH_APPREQUESTED
      アプリケーションがマッピングを構成し、IDirectInputDevice8::BuildActionMap の呼び出し時にデバイス (guidInstance) およびデバイス オブジェクト (dwObjID) が指定された。
    • DIAH_DEFAULT
      他のマッピング情報がないため、DirectInput がマッピングを決定した。
    • DIAH_ERROR
      エラーが発生した。アクションがデバイスのコントロールと一致しない。アクション マップの設定時に、このアクションは無視される。
    • DIAH_HWAPP
      このゲームのハードウェア メーカーがマッピングを指定した。
    • DIAH_HWDEFAULT
      このジャンルのハードウェア メーカーがマッピングを指定した。
    • DIAH_UNMAPPED
      適切なデバイス オブジェクトが見つからなかった。
    • DIAH_USERCONFIG
      ユーザーがマッピングを構成した。

構造体の情報

ヘッダー dinput.h
最低限のオペレーティング システム Windows 98

参照

IDirectInput8::EnumDevicesBySemanticsIDirectInputDevice8::SetActionMapIDirectInput8::ConfigureDevicesIDirectInputDevice8::BuildActionMapアクション マップ