Microsoft DirectX 8.0 (C++)

IDirectInputDevice8::BuildActionMap

デバイスのアクション マップを構築し、それに関する情報を取得する。

HRESULT BuildActionMap(
  LPDIACTIONFORMAT lpdiaf,
  LPCWSTR lpszUserName
  DWORD  dwFlags
);

パラメータ

lpdiaf
アクション マップに関する情報を受け取る DIACTIONFORMAT 構造体のアドレス。
lpszUserName
どのユーザーのマッピングを要求しているかを指定する文字列へのポインタ。NULL の場合、現在のユーザーが想定される。
dwFlags
マッピングを制御するフラグ。この値は、次の値のいずれかである。
DIDBAM_DEFAULT
アプリケーション指定のマッピング (すなわち DIACTION 構造体に DIA_APPMAPPED フラグを持つマッピング) を除くすべてのマッピングを上書きする。
DIDBAM_HWDEFAULTS
アプリケーション指定のマッピングを含め、すべてのマッピングを上書きする。このフラグは DIDBAM_INITIALIZE に類似しているが、ユーザーがマップしたアクションは、デバイス ドライバまたは Microsoft® DirectInput®に指定されたデフォルト アクションで自動的に上書きされる。
DIDBAM_INITIALIZE
アプリケーション指定のマッピングを含め、すべてのマッピングを上書きする。
DIDBAM_PRESERVE
このデバイス、またはその他の構成済みデバイスに割り当てられた現在のマッピングを保存する。

戻り値

成功した場合は、DI_OK、DI_NOEFFECT または DI_WRITEPROTECT を返す。「注意」を参照すること。

失敗した場合は、次のいずれかのエラー値を返す。

DIERR_INVALIDPARAM
DIERR_MAPFILEFAIL

注意

デバイスにマッピングが作成されていない場合、このメソッドは DI_NOEFFECT を返す。たとえば、キーボードまたはマウスが、ジャンル固有アクションのマッピングを提供しない場合である。

DIERR_INVALIDPARAM が返される場合、マッピングの 1 つ以上が無効である。DIACTION 構造体の dwHow メンバには DIAH_ERROR が設定される。アプリケーションは、アクション マップの全体でエラーの検出と修正を補間することができる。

DIEFF_MAPFILEFAIL が返された場合は、ベンダーが提供するデバイス ファイルの読み込み中か、あるいはデバイスのユーザー構成ファイルの読み込みまたは書き込み中にエラーが発生したことを示す。

動作環境

  Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : dinput.h で宣言。

参照

IDirectInputDevice8::SetActionMapIDirectInputDevice8::SetDataFormat