IDirectPlayVoiceClient::SetTransmitTargets メソッド

IDirectPlayVoiceClient::SetTransmitTargets メソッド

ローカル クライアントからオーディオ送信を受け取るプレーヤまたはグループ、あるいはその両方を指定する。

構文

HRESULT SetTransmitTargets(      
    PDVID pdvIDTargets,
    DWORD dwNumTargets,
    DWORD dwFlags
);

パラメータ

  • pdvIDTargets
    [in] ターゲットを指定する DVID の配列へのポインタ。セッションのすべてのプレーヤをターゲットとするには、1 つの要素配列を使い、その要素の値を DVID_ALLPLAYERS に設定する。プレーヤをターゲットとしない場合、パラメータを NULL に設定する。
  • dwNumTargets
    [in] 配列内の DVID の数。この値は 64 を超えてはならない。pdvIDTargets が NULL の場合、このパラメータは 0 に設定する。
  • dwFlags
    [in] 予約済み。0 でなければならない。

戻り値

成功した場合は DV_OK を返す。または、次のいずれかのエラー値を返す。

DVERR_INVALIDFLAGS このメソッドに渡されたフラグは無効である。
DVERR_INVALIDPARAM メソッドに渡された 1 つ以上のパラメータが無効である。
DVERR_INVALIDPOINTER 指定されたポインタが無効である。
DVERR_INVALIDTARGET 指定されたターゲットは、このボイス セッションの有効なプレーヤ ID またはグループ ID ではない。
DVERR_NOTINITIALIZED このメソッドを呼び出す前に、IDirectPlayVoiceClient::Initialize メソッドまたは IDirectPlayVoiceServer::Initialize メソッドを呼び出す必要がある。

注意

転送できる個々のターゲットの数は、64 までに制限される。この値を超えると、メソッドは失敗し、DVERR_NOTALLOWED を返す。ただし、65 人以上のプレーヤに転送することもできる。それには、プレーヤをグループにまとめ、グループをターゲットとして使う。

pdvIDTargets パラメータはプレーヤまたはグループの DVID の配列を指定する。このパラメータには重複ターゲットを指定してはならない。また、エントリはすべて有効な DVID である必要がある。ターゲットが個々の DVID を持つプレーヤおよびターゲットが所属するグループ内のプレーヤを含む場合、Microsoft® DirectPlay® Voice はプレーヤに重複音声パケットが送信されないようにする。

DVSESSION_SERVERCONTROLTARGET フラグを使ってセッションが作成された場合、このローカル クライアントにはサーバーしかターゲットを設定できない。このメソッドを呼び出すと、DVERR_NOTALLOWED が返される。