IDirectPlay8Server::AddPlayerToGroup メソッド

IDirectPlay8Server::AddPlayerToGroup メソッド

グループにクライアントを追加する。クライアントがグループに正しく追加された後、グループに送信されるすべてのメッセージがクライアントに送信される。

構文

HRESULT AddPlayerToGroup(      
    const DPNID idGroup,
    const DPNID idClient,
    PVOID const pvAsyncContext,
    DPNHANDLE *const phAsyncHandle,
    const DWORD dwFlags
);

パラメータ

  • idGroup
    [in] クライアントを追加するグループの識別子を指定する DPNID 型の変数。
  • idClient
    [in] グループに追加するクライアントの識別子を指定する DPNID 型の変数。
  • pvAsyncContext
    [in] ユーザー指定のコンテキストへのポインタ。これは、DPN_MSGID_ASYNC_OP_COMPLETE システム メッセージの pvUserContext メンバに返される。このパラメータはオプションであり、NULL に設定できる。
  • phAsyncHandle
    [out] DPNHANDLE。値が返される。ただし、Microsoft® DirectPlay® ではこの操作の取り消しは許可されていないため、値を使うことはできない。
  • dwFlags
    [in] このメソッドが処理される方法を制御するフラグ。このメソッドには、次のフラグを設定できる。
    • DPNADDPLAYERTOGROUP_SYNC
      メソッドを同期をとりながら処理する。

戻り値

メソッドが同期をとりながら処理され、処理が成功した場合は S_OK を返す。デフォルトでは、このメソッドは非同期に実行され、通常は DPNSUCCESS_PENDING か、または次のいずれかのエラー値を返す。

DPNERR_INVALIDFLAGS このメソッドに渡されたフラグは無効である。
DPNERR_INVALIDGROUP グループ ID が、このゲーム セッションに対する有効なグループ ID として認識されていない。
DPNERR_INVALIDPLAYER プレーヤ ID が、このゲーム セッションに対する有効なプレーヤ ID として認識されていない。
DPNERR_PLAYERALREADYINGROUP プレーヤ ID は既にグループに含まれている。

注意

サーバーは、サーバー自体またはクライアントを既存のグループに追加できる。プレーヤがグループに正しく追加されると、グループに送られたすべてのメッセージをプレーヤも受け取る。