戻り値
エラーは負の値で表され、それらを組み合わせることはできない。次の表に、IDirectPlay4 インターフェイスと IDirectPlayLobby3 インターフェイスのすべてのメソッドにより返される値を示す。各メソッドにより返されるエラー値については、個別のメソッドの説明を参照すること。
DirectPlay サンプルの多くには、HRESULT 値を DirectPlay エラーの文字列名に変換する GetDirectPlayErrStr 関数が含まれている。開発者は、診断トレースやエラー レポート用に各自のアプリケーションにこのコードをコピーできる。
- CLASS_E_NOAGGREGATION
- DirectPlayCreate、DirectPlayLobbyCreate、または IDirectPlayLobby3::Connect の pUnkOuter パラメータに、NULL 以外の値が渡された。
- DP_OK
- 要求は正常に終了した。
- DPERR_ABORTED
- 操作は、完了前に取り消された。
- DPERR_ACCESSDENIED
- セッションがいっぱいであるか、または不正なパスワードが指定された。
- DPERR_ACTIVEPLAYERS
- 既存のアクティブなプレーヤーが存在していて、要求された操作が実行できなかった。
- DPERR_ALREADYINITIALIZED
- このオブジェクトは既に初期化されている。
- DPERR_APPNOTSTARTED
- アプリケーションがまだ起動されていない。
- DPERR_AUTHENTICATIONFAILED
- 指定されたパスワードまたは証明書が認証できなかった。
- DPERR_BUFFERTOOLARGE
- データ バッファが大きすぎて保存できない。
- DPERR_BUFFERTOOSMALL
- 指定されたバッファが、要求されたデータを格納するのに十分な大きさでない。
- DPERR_BUSY
- 伝送媒体がビジー状態であるため、メッセージを送信できない。
- DPERR_CANCELFAILED
- おそらくメッセージがグループのメンバに既に送信されているグループ メッセージであるために、取り消すことができなかった。
- DPERR_CANCELLED
- 操作が取り消された。
- DPERR_CANNOTCREATESERVER
- 新しいセッションでサーバーを作成できない。
- DPERR_CANTADDPLAYER
- プレーヤーをセッションに追加できない。
- DPERR_CANTCREATEGROUP
- 新しいグループを作成できない。
- DPERR_CANTCREATEPLAYER
- 新しいプレーヤーを作成できない。
- DPERR_CANTCREATEPROCESS
- アプリケーションを起動できない。
- DPERR_CANTCREATESESSION
- 新しいセッションを作成できない。
- DPERR_CANTLOADCAPI
- 証明書が指定されず、また暗号化サービスで使用する CryptoAPI パッケージ (CAPI) をロードできない。
- DPERR_CANTLOADSECURITYPACKAGE
- ソフトウェア セキュリティ パッケージをロードできない。
- DPERR_CANTLOADSSPI
- 証明書が指定されず、また証明書を要求するセキュリティ サポート プロバイダ インターフェイス (SSPI) をロードできない。
- DPERR_CAPSNOTAVAILABLEYET
- DirectPlay オブジェクトの能力がまだ決定されていない。このエラーは、DirectPlay オブジェクトが使用可能な帯域幅と遅延時間を判定するためにポーリングする必要がある接続ソリューションに実装されている場合に発生する。
- DPERR_CONNECTING
- このメソッドは、ネットワークに接続中である。アプリケーションは、正常終了を示す DP_OK が返されるまで、または別のエラーが返されるまでこのメソッドを使用し続ける。
- DPERR_CONNECTIONLOST
- データの送信中にサービス プロバイダ接続がリセットされた。
- DPERR_ENCRYPTIONFAILED
- 要求された情報がデジタル式に暗号化できなかった。メッセージのプライバシーを保護するために暗号化機能が使用される。このエラーは、セキュア セッションにのみ関係がある。
- DPERR_ENCRYPTIONNOTSUPPORTED
- DPSECURITYDESC 構造体で要求された暗号化のタイプは使用できない。このエラーは、セキュア セッションにのみ関係がある。
- DPERR_EXCEPTION
- 要求処理時に例外が発生した。
- DPERR_GENERIC
- 未定義エラー条件が発生した。
- DPERR_INVALIDFLAGS
- このメソッドに渡されたフラグが無効であった。
- DPERR_INVALIDGROUP
- グループ ID が、このゲーム セッションの有効なグループ ID として認識されない。
- DPERR_INVALIDINTERFACE
- インターフェイス パラメータが無効である。
- DPERR_INVALIDOBJECT
- DirectPlay オブジェクト ポインタが無効である。
- DPERR_INVALIDPARAMS
- メソッドに渡されたパラメータのいずれかまたはいくつかが無効である。
- DPERR_INVALIDPASSWORD
- パスワードが必要なセッションに参加しようとしたときに、無効なパスワードが指定された。
- DPERR_INVALIDPLAYER
- プレーヤー ID がこのゲーム セッションの有効なプレーヤー ID として認識されない。
- DPERR_INVALIDPRIORITY
- 指定された優先順位が、許可されている優先順位の範囲 (0 以上 65535 以下) 外である。
- DPERR_LOGONDENIED
- 証明書が要求されているのに、証明書が指定されていないか、または証明書が無効であるため、セッションを開くことができなかった。
- DPERR_NOCAPS
- DirectPlay が使用しようとしている通信リンクでは、この機能を使用できない。
- DPERR_NOCONNECTION
- 通信リンクが確立されなかった。
- DPERR_NOINTERFACE
- インターフェイスがサポートされていない。
- DPERR_NOMESSAGES
- 受信キューにメッセージがない。
- DPERR_NONAMESERVERFOUND
- ネーム サーバー (ホスト) を見つけることができなかったか、作成できなかった。プレーヤーを作成するには、ホストが存在していなければならない。
- DPERR_NONEWPLAYERS
- セッションは、新しいプレーヤーを受け付けていない。
- DPERR_NOPLAYERS
- セッション内にアクティブなプレーヤーがいない。
- DPERR_NOSESSIONS
- このゲームに対応する既存のセッションがない。
- DPERR_NOTLOBBIED
- アプリケーションが IDirectPlayLobby3::RunApplication メソッドを使用して起動されなかった場合、またはこの DirectPlayLobby オブジェクトに対して現在初期化されている DPLCONNECTION 構造体がない場合、IDirectPlayLobby3::Connect メソッドにより返される。
- DPERR_NOTLOGGEDIN
- プレーヤー アプリケーションまたはクライアント アプリケーションがログオンされていないので、処理を実行できない。クライアント アプリケーションがログオンしないで機密保護メッセージを送信しようとすると、IDirectPlay4::Send メソッドにより返される。
- DPERR_OUTOFMEMORY
- 要求された操作を実行するには、メモリが不足している。
- DPERR_PENDING
- エラーではない。この戻り値は、非同期送信で、キューへの設定が成功するところまで処理が進んだことを示す。詳細については、IDirectPlay4::SendEx を参照すること。
- DPERR_PLAYERLOST
- プレーヤーは、セッションへの接続を喪失した。
- DPERR_SENDTOOBIG
- IDirectPlay4::Send メソッドにより送信されているメッセージが大きすぎる。
- DPERR_SESSIONLOST
- セッションへの接続が喪失した。
- DPERR_SIGNFAILED
- 要求された情報に、デジタル署名できなかった。デジタル署名は、メッセージを認証するときに使用される。
- DPERR_TIMEOUT
- 指定された時間内に処理を完了できなかった。
- DPERR_UNAVAILABLE
- この時点では、要求された関数を使用できない。
- DPERR_UNINITIALIZED
- 要求されたオブジェクトが初期化されていない。
- DPERR_UNKNOWNAPPLICATION
- 未確認のアプリケーションが指定された。
- DPERR_UNKNOWNMESSAGE
- メッセージ ID が有効でない。取り消すメッセージの ID が無効の場合に、IDirectPlay4::CancelMessage から返される
- DPERR_UNSUPPORTED
- 関数または機能を、この実装やこのサービス プロバイダで使用できない。IDirectPlay4::GetGroupConnectionSettings や IDirectPlay4::SetGroupConnectionSettings ロビー セッションでないセッションから呼び出された場合に、それらから返される。優先順位やタイムアウトが設定されている場合に、それらがサービス プロバイダによりサポートされておらず、また DirectPlay プロトコルがオンでないときに、IDirectPlay4::SendEx から返される。送信キューをチェックする場合に、それがサービス プロバイダによりサポートされておらず、また DirectPlay プロトコルがオンでないとき、IDirectPlay4::GetMessageQueue から返される。
- DPERR_USERCANCEL
- 次の場合に返される。1) ユーザーが IDirectPlay4::Open メソッドを呼び出している最中に接続プロセスを取り消した場合。2) IDirectPlay4::EnumSessions を呼び出している最中に、ユーザーが DirectPlay サービス プロバイダのダイアログ ボックスのいずれかで [キャンセル] をクリックした場合。
- E_UNKNOWN
- 一般に、なんらかの重大な障害が発生したことを示す。たとえば、サービス プロバイダが正しく初期化できなかったり、IPX などのプロトコルがコンピュータに正しくインストールされなかった。