次の方法で共有


IDirectInput8::ConfigureDevices

接続された入力デバイスのプロパティ ページを表示し、アクションをデバイス コントロールにマップするために使用します。

HRESULT 
ConfigureDevices(
  LPDICONFIGUREDEVICESCALLBACK lpdiCallback,
  LPDICONFIGUREDEVICESPARAMS lpdiCDParams,
  DWORD dwFlags,
  LPVOID pvRefData
);

パラメータ

  • lpdiCallback
    サーフェスの内容が変化するたびに呼び出されるコールバック関数のアドレス。「DIConfigureDevicesCallback」を参照してください。アプリケーションがプロパティ シートの表示を処理しない場合は、NULL を渡します。この場合、プロパティ シートは DirectInput によって表示され、ユーザーがプロパティ シートを閉じると制御がアプリケーションに返されます。コールバック ポインターを指定する場合は、さらに DICONFIGUREDEVICESPARAMS 構造体の lpUnkDDSTarget メンバー-に、有効なサーフェス ポインターを指定する必要があります。
  • lpdiCDParams
    ユーザーとゲームのジャンルに関する情報、およびユーザー インターフェイスの表示方法に関する情報を含む DICONFIGUREDEVICESPARAMS 構造体のアドレス。
  • dwFlags
    コントロール パネルの呼び出しに使用するモードを指定する DWORD 値。dwFlags パラメーターには、次のいずれかの値を指定します。
    • DICD_DEFAULT
      プロパティ シートを表示専用モードで開きます。
    • DICD_EDIT
      プロパティ シートを編集モードで開きます。このモードでは、ユーザーがアクションとコントロールのマッピングを変更できます。呼び出しから戻った後、アプリケーションは現行デバイスが有効でなくなったと想定し、すべてのデバイス インターフェイスを解放し、IDirectInput8::EnumDevicesBySemantics を呼び出してインターフェイスを再初期化する必要があります。
  • pvRefData
    コールバック関数に渡すアプリケーション定義の値。

戻り値

メソッドが正常に実行された場合、戻り値は DI_OK です。失敗した場合は、次の戻り値のいずれかを返します。DIERR_INVALIDPARAM、DIERR_OUTOFMEMORY

解説 

IDirectInput8::ConfigureDevices は推奨されません。このメソッドは、Windows Vista およびそれ以降の Windows のバージョンでは常に失敗します。

デバイスのビットマップやその他の表示情報は、そのデバイスのハードウェア ベンダーによって提供されます。

メソッドを呼び出す前に、アプリケーションは各アクションに関連したテキスト ラベルを変更できます。このためには、DIACTION 構造体の lptszActionName メンバーの値を変更します。

構成は、各ユーザー、各デバイス、各ゲームごとにそれぞれ別個に保管されます。この情報は、IDirectInputDevice8::BuildActionMap メソッドを使用して取得できます。

デフォルトでは、次のピクセル フォーマットでアクセラレーションがサポートされています。

  • A1R5G5B5

    16 ビットのピクセル フォーマットで、RGB の各カラー用に 5 ビットが、アルファ (透過テクセル) 用に 1 ビットがそれぞれ確保されています。

  • A8R8G8B8

    アルファを含む 32 ビット ARGB ピクセル フォーマット。

  • R9G8B8

    24 ビット RGB ピクセル フォーマット。

  • X1R5G5B5

    16 ビットのピクセル フォーマットで、そのうち 5 ビットはそれぞれのカラーのために確保されています。

  • X8R8G8B8

    32 ビットの RGB ピクセル フォーマットで、そのうち 8 ビットはそれぞれのカラーのために確保されています。

その他のフォーマットを使用するとカラー変換が行われ、フレーム レートが大幅に低下します。

    アプリケーションの協調レベルにより、 Windows ロゴ キーが排他協調レベルを使用してパッシブに無効化されている、または DISCL_NOWINKEY フラグを使用してアクティブに無効化されている場合であっても、デフォルトのアクション マッピング ユーザー インターフェイス (UI) が表示されている間は、そのキーはアクティブになります。

要件

ヘッダー: Dinput.h 宣言