Microsoft DirectX 9.0 SDK Update (Summer 2003) |
Specifies which players and/or groups receive audio transmissions from the local client.
Syntax
HRESULT SetTransmitTargets(
PDVID pdvIDTargets, DWORD dwNumTargets, DWORD dwFlags );
Parameters
- pdvIDTargets
- [in] Pointer to an array of DVIDs that specify your targets. To target all players in the session, use a single element array, with the value of that element set to DVID_ALLPLAYERS. To target no players, set this parameter to NULL.
- dwNumTargets
- [in] Number of DVIDs in the array. This value cannot exceed 64. If pdvIDTargets is NULL, this parameter must be set to 0.
- dwFlags
- [in] Reserved. Must be 0.
Return Value
Returns DV_OK if successful, or one of the following error values.
DVERR_INVALIDFLAGS The flags passed to this method are invalid. DVERR_INVALIDPARAM One or more of the parameters passed to the method are invalid. DVERR_INVALIDPOINTER The pointer specified is invalid. DVERR_INVALIDTARGET The specified target is not a valid player ID or group ID for this voice session. DVERR_NOTINITIALIZED The IDirectPlayVoiceClient::Initialize or IDirectPlayVoiceServer::Initialize method must be called before calling this method.
Remarks
The number of individual targets that you can transmit to is limited to 64. If you exceed this value, the method will fail, and return DVERR_NOTALLOWED. However, you can transmit to more than 64 players. To do this, form the players into groups, and then use the groups as your target.
The pdvIDTargets parameter specifies an array of player and/or group DVIDs. There must be no duplicate targets in this parameter, and all entries must be valid DVIDs. If a target contains a player as its individual DVID and through a group that the target belongs to, Microsoft® DirectPlay® Voice ensures duplicate speech packets are not sent to the player.
If the session was created with the DVSESSION_SERVERCONTROLTARGET flag, only the server can set the targets for this local client. A call to this method returns DVERR_NOTALLOWED.