Platform SDK: DirectX |
ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectPlay C/C++ チュートリアル」を参照すること。
アプリケーションで DirectPlay を実装するための最初のステップは、DirectPlay4 オブジェクトを作成し、利用可能な接続またはサービス プロバイダを列挙することである。Memory サンプルでは、いくつかのグローバル宣言の後で、InitDPlay プロシージャ内で次の手順を実行している。
Public gObjDX As New DirectX7 Public gObjDPlay As DirectPlay4 Public gObjEnumConnections As DirectPlayEnumConnections Public Sub InitDPlay() On Error GoTo FAILED Set gObjDPlay = gObjDX.DirectPlayCreate("") Set gObjEnumConnections = gObjDPlay.GetDPEnumConnections( _ "", DPCONNECTION_DIRECTPLAY) Exit Sub FAILED: MsgBox ("Failed to initialize DirectPlay.") End End Sub
DirectPlay4.GetDPEnumConnections を呼び出して、サービス プロバイダのコレクションを作成する。guid パラメータには、空の文字列を渡す。アプリケーション専用に設計されたサービス プロバイダを検索する場合に限り、アプリケーションの GUID を渡す。DP_CONNECTION_DIRECTPLAY フラグは、このアプリケーションでロビー プロバイダを使用しないことを示す。
InitDPlay プロシージャは、InitConnectionList 関数から呼び出される。その後、この関数は、利用可能なサービス プロバイダをリスト ボックスに代入する。この関数全体は、次のようになっている。
Public Function InitConnectionList() As Boolean Dim NumConnections As Long Dim strName As String Dim X As Long Call InitDPlay ' 失敗したら、プログラムを中断する。 lstConnections.Clear On Error GoTo FAILED NumConnections = gObjEnumConnections.GetCount For X = 1 To NumConnections strName = gObjEnumConnections.GetName(X) Call lstConnections.AddItem(strName) Next X ' 選択肢を初期化する。 lstConnections.ListIndex = 0 InitConnectionList = True Exit Function ' エラー ハンドラ。 FAILED: InitConnectionList = False Exit Function End Function
DirectPlayEnumConnections コレクションは、1 から始まる。これは、DirectX for Visual Basic のほかの列挙されたコレクションでも同じである。