#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 | ダウンロードプレイ可 |
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 初版