次の方法で共有


IGameInputDevice::GetBatteryState

注意

この関数はまだ実装されていません。

デバイスのバッテリー状態を取得します。

構文

void GetBatteryState(  
         GameInputBatteryState* state  
)  

パラメーター

state _Out_
型: GameInputBatteryState*

充電率、残量、充電容量など、デバイスのバッテリー状態に関する情報。

戻り値

型: void

GameInputBatteryState* 構造体を返し、0 の値と不明な状態を設定します。

解説

GetBatteryState メソッドは、デバイスのバッテリーの現在の状態に関する情報を返します。 この情報は、GameInputBatteryStatus 列挙および GameInputBatteryState 構造体によって定義されます。

この列挙を定義する定数、およびこの構造体を定義するメンバーを確認するには、次のコード例を参照してください。

typedef enum GameInputBatteryStatus
{
    GameInputBatteryUnknown     = -1,
    GameInputBatteryNotPresent  =  0,
    GameInputBatteryDischarging =  1,
    GameInputBatteryIdle        =  2,
    GameInputBatteryCharging    =  3
} GameInputBatteryStatus;

typedef struct GameInputBatteryState
{
    float chargeRate;
    float remainingCapacity;
    float fullChargeCapacity;
    GameInputBatteryStatus status;
} GameInputBatteryState;

すべての浮動小数点値はワット/時で表されます。 デバイスにバッテリーがない場合、または現在のバッテリー状態を特定できない場合は、すべての浮動小数点値がゼロになります。 それ以外の場合、すべての浮動小数点値は正の数値になりますが、バッテリーが放電するときに負の値になる chargeRate メンバーは例外です。

正確なワット/時値は、デバイスから取得できる場合は常に提供されます。 ただし、一部のデバイスがこの情報を提供しない場合や、一部の値についてのみ提供される場合があります。 正確なワット時の読み取り値が使用可能でない浮動小数点値には、次のように既定値が割り当てられます。

  • chargeRate は、充電/放電時には fullChargeCapacity 値の +/- 10% に設定され、充電状態が "アイドル" の場合は 0 に設定されます。

  • remainingCapacity は、fullChargeCapacity の値に設定され、バッテリー残量の割合を掛けます。

  • fullChargeCapacity は 1 ワット/時の値に設定されます。

詳細な充電レベル マップされたパーセント値
Full 100%
Medium 70%
Low 40%
Critical 10%

バッテリー残量を表示するときのユーザー エクスペリエンスを最大限高めるために、バッテリー残量の "バー" を表示する UI コードでは、上記の表で指定された値に合わせる必要があります。 詳細については、ゲームの入力のプラクティスに関するページを参照してください。

デバイスがシステムから切断されているときに GetBatteryState メソッドが呼び出された場合、(デバイスが接続されていたときに有効な値が使用可能だったとしても) すべての浮動小数点値が 0 に設定され、状態メンバーが GameInputBatteryUnknown に設定されます。 このメソッドはローカル メモリに格納されているデータを取得し、どのコンテキストからも安全に呼び出すことができます。

要件

ヘッダー: GameInput.h

ライブラリ: xgameruntime.lib

サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体

関連項目

GameInput の高度なトピック
GameInput の概要
IGameInputDevice