Microsoft DirectX 8.0 (C++) |
アプリケーションで利用可能な登録済みサービス プロバイダを列挙する。
HRESULT EnumServiceProviders( const GUID *const pguidServiceProvider, const GUID *const pguidApplication, DPN_SERVICE_PROVIDER_INFO *const pSPInfoBuffer, PDWORD const pcbEnumData, PDWORD const pcReturned const DWORD dwFlags );
成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。
DPNERR_BUFFERTOOSMALL |
DPNERR_INVALIDPARAM |
pguidServiceProvider パラメータに NULL を指定して最初にこのメソッドを呼び出し、システムで利用可能なベース サービス プロバイダを決定する。pguidServiceProvider に特定のサービス プロバイダ GUID へのポインタを渡すことで、サービス プロバイダ用のデバイスを取得できる。これは、たとえば、Microsoft® DirectPlay® サービス プロバイダのモデム接続を使用する場合などに便利である。ダイヤルアウトにはさまざまなモデムを選択し、ホストには特定のモデムを選択できる。
pEnumData バッファでは要求されたサービス プロバイダ情報を保持する容量が不足する場合、メソッドは DPNERR_BUFFERTOOSMALL を返す。cbEnumData パラメータには必要なバッファ サイズが含まれる。通常、一番よい方法は長さ 0 のバッファで一度メソッドを呼び出し、必要なサイズを判断することである。次に、バッファを適切なサイズにしてもう一度メソッドを呼び出す。
通常の場合、このメソッドは、アプリケーションが使用できるサービス プロバイダのみを返す。たとえば、IPX ネットワーキング プロトコルがインストールされていない場合、DirectPlay は IPX サービス プロバイダを返さない。DirectPlay が、使用できないプロバイダを含め、すべてのサービス プロバイダを返すようにするには、dwFlags に DPNENUMSERVICEPROVIDERS_ALL フラグを設定する。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : Dplay8.h で宣言。