WMGameInfo

定義

#include <nitro/wm.h>

typedef struct WMGameInfo
{
  u16 magicNumber;
  u8 ver;
  u8 reserved[1];
  u32 ggid;
  u16 tgid;
  u8 userGameInfoLength;
  u8 attribute;
  u16 parentMaxSize;
  u16 childMaxSize;
  union {
    u16 userGameInfo[WM_SIZE_USER_GAMEINFO/sizeof(u16)];
    struct {
      u16 userName[WM_SIZE_USERNAME/sizeof(u16)];
      u16 gameName[WM_SIZE_GAMENAME/sizeof(u16)];
      u16 padd1[44];
    } old_type;
  };
} WMGameInfo;

要素

magicNumber この構造体のマジックナンバーです。
WM_GAMEINFO_MAGIC_NUMBER (== 0x0001) で固定です。
ver この構造体のバージョン番号です。
ライブラリの内部で管理され、ユーザが意識する必要はありません。
ggid ゲームグループIDです。
これは通信互換性のあるゲームアプリケーションを識別するための一意な値です。
tgid テンポラリグループIDです。
これは同一機体で同一ゲームアプリケーションが複数回通信を確立する場合に
一意性を持たせるため親機側で設定する動的な値です。
userGameInfoLength userGameInfoに格納された有効なデータの、バイト単位でのサイズです。最大で 112 バイトとなります。
userGameInfo アプリケーション固有の任意情報が格納された配列です。
attribute エントリー受付中、ダウンロードプレイ可などの親機属性を示す値です。
parentMaxSize MP通信における親機送信データの最大サイズです。
childMaxSize MP通信における子機送信データの最大サイズです。
reserved 予約域です。
ユーザはこのメンバを使用する必要はありません。
old_type 旧形式との互換のために用意されています。
ユーザはこのメンバを使用する必要はありません。

説明

WM_StartScan( )による探索の結果発見された親機の情報が格納される構造体です。

attribute フィールドは、以下の論理和で構成されます。

WM_ATTR_FLAG_ENTRY エントリー受付中
WM_ATTR_FLAG_MB ダウンロードプレイ可
WM_ATTR_FLAG_KS キーシェアリング中現在は使用されていません
WM_ATTR_FLAG_CS 連続通信モード現在は使用されていません

WMGameInfo 構造体の各フィールドにアクセスする前に、必ずmagicNumberフィールドがWM_GAMEINFO_MAGIC_NUMBER (== 0x0001) であることを確認する必要があります。 magicNumberフィールドの確認はWM_IsValidGameInfo( )またはWM_IsValidGameBeacon( )で行えます。 また、WMGameInfo構造体は、magicNumberが等しい限り下位互換を保つように拡張されますので、 verフィールドが未知の値であった場合は現在のバージョンと同等の機能を持つものとして扱うようにしてください。

履歴

2006/02/20 version を削除し、magicNumber と ver を追加。説明の追記。
2005/12/08 キーシェアリング関連の記述を削除
2005/03/02 userGameInfoLengthメンバについて範囲を追記
2004/12/20 gameNameCount_attribute についての説明を追記
2004/11/12 userGameInfoLength の単位を修正
2004/10/06 初版