2.2.4.2 Voice Client List Message

This message is sent from the voice server to a voice client to provide that client with a list of all voice clients that are currently part of the voice session. If the game session is large, then the server MAY send more than one of these messages. The message is sent as an ordered, guaranteed message using the DirectPlay protocol voice message type.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Header

HostOrderID

...

NumPlayerListEntries

...

PlayerList (variable)

...

Header (1 byte): The common message header (as specified in section 2.2.1). The MessageType field MUST be set to DVMSGID_PLAYERLIST (0x61).

HostOrderID (4 bytes): A 32-bit unsigned integer representing the host order ID of the voice client. When host migration is enabled as described in section 1.3.3.1, this field MUST be set to the host order ID of the voice client to which the Voice Client List Message is being sent. Otherwise, HostOrderID SHOULD be set to 0xFFFFFFFF.

NumPlayerListEntries (4 bytes): A 32-bit unsigned integer. This value MUST indicate the length of the PlayerList field in the Voice Client List Message. This field will never be a value greater than 0x00000052. It is possible for this value to be 0.

PlayerList (variable): An optional array of Voice Client List Entry (section 2.2.4.1) structures. The number of structures present MUST equal the value of NumPlayerListEntries. If NumPlayerListEntries is 0, then there will be no data in this portion of the message.