次の方法で共有


IDirectPlay8Peer::SetPeerInfo メソッド

IDirectPlay8Peer::SetPeerInfo メソッド

ローカル ピアの静的設定を設定する。アプリケーションに基本的なプレーヤ情報を転送するには、接続前にこのメソッドを呼び出す。ピアが正しくアプリケーションに接続すると、他のプレーヤはこのメソッドで設定された情報を IDirectPlay8Peer::GetPeerInfo メソッドを呼び出して取得できる。

構文

HRESULT SetPeerInfo(      
    const DPN_PLAYER_INFO *const pdpnPlayerInfo,
    PVOID const pvAsyncContext,
    DPNHANDLE *const phAsyncHandle,
    const DWORD dwFlags
);

パラメータ

  • pdpnPlayerInfo
    [in] 設定するピア情報を保持する DPN_PLAYER_INFO 構造体へのポインタ。
  • pvAsyncContext
    [in] ユーザー指定のコンテキストへのポインタ。これは、DPN_MSGID_ASYNC_OP_COMPLETE システム メッセージの pvUserContext メンバに返される。
  • phAsyncHandle
    [out] DPNHANDLE。値が返される。ただし、Microsoft® DirectPlay® ではこの操作の取り消しは許可されていないため、値を使うことはできない。
  • dwFlags
    [in] このメソッドが処理される方法を制御するフラグ。このメソッドには、次のフラグを設定できる。
    • DPNSETPEERINFO_SYNC
      メソッドを同期をとりながら処理する。

戻り値

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

DPNERR_INVALIDFLAGS このメソッドに渡されたフラグは無効である。
DPNERR_INVALIDPARAM メソッドに渡された 1 つ以上のパラメータが無効である。
DPNERR_NOCONNECTION 通信リンクが確立されなかった。

注意

このメソッドは、セッション中いつでも呼び出すことができる。

IDirectPlay8Peer::SetPeerInfo メソッドを使うと処理に負担がかかるため、非静的情報は IDirectPlay8Peer::SendTo メソッドを使って転送すること。

DPN_PLAYER_INFO 構造体の dwPlayerFlags メンバは 0 に設定しなければならない。

アプリケーションへの接続後、このメソッドを使ってピア情報を変更できる。接続後にこのメソッドを呼び出すと、データの更新を知らせる DPN_MSGID_PEER_INFO システム メッセージがすべてのプレーヤに対して生成される。DPN_PLAYER_INFO 構造体の dwPlayerFlags メソッドは、この呼び出しを行うときに 0 に設定する必要がある。