Platform SDK: DirectX

IDirectPlay4::GetPlayerAddress

IDirectPlay4::GetPlayerAddress メソッドは、プレーヤーの DirectPlay アドレスを取得する。

DirectPlay アドレスは、特定のサービス プロバイダを使用しているプレーヤーのネットワーク アドレスである。IDirectPlay4::GetPlayerAddress により取得されたバッファを解析するには、IDirectPlayLobby3::EnumAddress メソッドを呼び出す。

このメソッドをローカル プレーヤーに対して呼び出すと、そのコンピュータのネットワーク アドレスが取得可能であればそれが返される。場合によっては、複数のアドレスが返されることもある (たとえば、ネットワーク カードとダイヤルアップ インターネット接続の両方が搭載されているコンピュータの TCP/IP の場合など)。

HRESULT GetPlayerAddress(
  DPID idPlayer,
  LPVOID lpData,
  LPDWORD lpdwDataSize
);

パラメータ

idPlayer
アドレスを要求するプレーヤーの ID。0 を指定すると、サービス プロバイダの有効なアドレス オプションのリストが取得できる (たとえば、モデム間サービス プロバイダの有効なモデム オプションのリストなど)。
lpData
DirectPlay アドレスを書き込むバッファへのポインタ。データのサイズのみを要求するときは、このパラメータに NULL を設定する。lpdwDataSize パラメータはデータを保持するのに必要なサイズに設定される。
lpdwDataSize
このメソッドを呼び出す前に、バッファのサイズに初期化された変数へのポインタ。メソッドが戻ると、このパラメータには DirectPlay アドレス データのサイズがバイト単位で設定されている。バッファが小さすぎる場合、このパラメータには必要なバッファ サイズが設定され、メソッドからは DPERR_BUFFERTOOSMALL が返される。

戻り値

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

DPERR_BUFFERTOOSMALL
DPERR_INVALIDOBJECT
DPERR_INVALIDPARAMS
DPERR_INVALIDPLAYER
DPERR_UNAVAILABLE

要求されたプレーヤー ID のアドレスが取得できない場合は、DPERR_UNAVAILABLE を返す。

注意

有効なモデム オプションのリストを取得するには、idPlayer パラメータに 0 を指定する。モデム オプションのリストは、ANSI 文字列または Unicode 文字列のリストで、終端に長さが 0 の文字列が設定されて返される。

このメソッドを呼び出したときのインタフェースに関係なく、DirectPlay アドレスにはアドレスと共に ANSI 文字列と Unicode 文字列の両方が設定される。

必要条件

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dplay.h で宣言。
  インポート ライブラリ : dplayx.lib を使用。

参照

IDirectPlayLobby3::EnumAddressDirectPlay アドレス