Platform SDK: DirectX |
IDirectPlay4::EnumConnections メソッドは、アプリケーションで使用可能な登録済みサービス プロバイダとロビー プロバイダをすべて列挙する。ユーザーはこれらの中から、サービス プロバイダとロビー プロバイダを選択する。ユーザーが選択した接続は、IDirectPlay4::InitializeConnection メソッドに渡される。
HRESULT EnumConnections( LPCGUID lpguidApplication, LPDPENUMCONNECTIONSCALLBACK lpEnumCallback, LPVOID lpContext, DWORD dwFlags );
次に、可能な値を示す。
成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。
DPERR_CONNECTIONLOST |
DPERR_INVALIDFLAGS |
DPERR_INVALIDPARAMS |
このメソッドは、DirectPlayEnumerate 関数の代わりとなる。DirectPlayEnumerate 関数は依然として機能するが、登録済みサービス プロバイダしか返さない。
サービス プロバイダとロビー プロバイダが返される順序は、EnumConnections を呼び出した順序と同じであるとは限らない。
列挙された接続のすべてを使用できるわけではない。たとえば、このメソッドはユーザーがモデムをインストールしていなくてもモデム サービス プロバイダを返す。アプリケーションでは、接続ごとに IDirectPlay4::InitializeConnection メソッドを呼び出し、エラー コードを調べてサービス プロバイダが使用可能であるかどうかを判断することができる。
IDirectPlay4A(ANSI) インタフェースでこのメソッドを呼び出すと、必ず適切にローカライズされた 1 バイト文字の文字列が返される。マルチ バイト文字の文字列は使用されないので、それをサポートしていないフォントを使用しても文字列を表示するときに問題が発生しない。IDirectPlay4(Unicode) インタフェースでこのメソッドを呼び出すと、ローカライズされたワイド文字の記述が返される。
サービス プロバイダの中には、それらをプライベートとして登録できるものもある。これらのサービス プロバイダは、このメソッドを使用しても列挙されない。プライベートのサービス プロバイダを使用するには、ロビーによりアプリケーションを起動するか、または DirectPlay アドレスを作成してそれを InitializeConnection に渡し、プライベートのサービス プロバイダをその GUID により明示的に参照する必要がある。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dplay.h で宣言。
インポート ライブラリ : dplayx.lib を使用。