Platform SDK: DirectX

EnumSessionsCallback2

EnumSessionsCallback2 は、IDirectPlay4::EnumSessions メソッドに対するアプリケーション定義のコールバック関数である。

BOOL FAR PASCAL EnumSessionsCallback2(
  LPCDPSESSIONDESC2 lpThisSD,
  LPDWORD lpdwTimeOut,
  DWORD dwFlags,
  LPVOID lpContext
);

パラメータ

lpThisSD
列挙されるセッションを記述した DPSESSIONDESC2 構造体へのポインタ。列挙処理が時間切れになった場合、このパラメータには NULL が設定される。
lpdwTimeOut
現行のタイムアウト値が格納される変数へのポインタ。セッションからの応答をもっと待ちたい場合に DPESC_TIMEDOUT フラグが返されたとき、このパラメータはリセットできる。
dwFlags
一般に、このフラグは 0 に設定される。
DPESC_TIMEDOUT
列挙処理が時間切れになった。処理を続行するには lpdwTimeOut をリセットして TRUE を返す。処理を停止するには、FALSE を返す。
lpContext
アプリケーションにより定義されたコンテキストへのポインタ。

戻り値

列挙を継続する場合は、TRUE を返す。列挙を停止する場合は、FALSE を返す。

注意

アプリケーションでは、IDirectPlay4::EnumSessions メソッドを使用するために、この関数を実装する必要がある。このコールバック関数は、列挙されたセッションごとに 1 回ずつ呼び出される。すべてのセッションが列挙されたら、このコールバック関数は DPESC_TIMEDOUT フラグを設定してもう一度呼び出される。

アプリケーションでセッションの性質を判定するには、DPSESSIONDESC2 の各フラグを調べる。

セキュア セッション の場合、DPSESSIONDESC2dwMaxPlayers メンバと dwCurrentPlayers メンバには 0 が設定される。

コールバック関数で返されるポインタは一時的なものであり、コールバック関数の内部でのみ有効である。アプリケーションは、ポインタ情報を保存する必要がある場合、データを保持するためのメモリを割り当て、データをコピーしてから、この新しいデータへのポインタを保存する必要がある。この関数で、lpThisSD は一時的なものである。また、lpThisSD パラメータで指定された構造体内のポインタの lpszSessionName/lpszSessionNameAlpszPassword/lpszPasswordA も一時的なものであるので注意すること。

必要条件

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dplay.h で宣言。