Share via


スマート デバイス接続 API を使用したデバイスの制御

更新 : 2007 年 11 月

Microsoft Visual Studio には、開発者がアプリケーションでコア コネクティビティ機能の一部を利用するためのスマート デバイス接続 API が含まれています。コア コネクティビティは、Microsoft Visual Studio、Microsoft Visual Studio Remote Tools、Microsoft Platform Builder などの製品が使用する通信フレームワークであり、ファイルの配置、プロセスの開始、デバイスのフラッシュ、および、スマート デバイスのアプリケーションのデバッグを行います。

通常、スマート デバイス接続 API は、デバイス プロジェクトのリモート ツール などのアプリケーションの作成に使用されます。これを使うと、開発者はデバイスへの接続方法やデバイスの管理方法の詳細を気にする必要がなくなり、プログラミング ロジックに集中できるという利点があります。スマート デバイス接続 API では、次のタスクを実行できます。

  • 利用できるプラットフォームとデバイスを一覧します。

  • ローカル デスクトップ コンピュータとターゲット デバイスの間で接続を確立します。

  • ターゲット デバイスにアプリケーション、パッケージ、およびファイルを配置します。

  • ターゲット デバイス上でプロセスを開始、停止、および列挙します。

  • デスクトップとターゲット デバイスの間でデータを交換します。

スマート デバイス接続 API を使用すると、リモート ツールを作成してデバイス管理タスクを自動化できます。

スマート デバイス接続アプリケーションの一般的なアーキテクチャ

スマート デバイス接続 API について理解するには、スマート デバイス接続 API を使用する一般的なデスクトップ アプリケーションでの処理を順に見ていくのが最良の方法です。

  1. デスクトップ アプリケーションは、Microsoft.SmartDevice.Connectivity 名前空間を使用するために、drive:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Bin\Microsoft.Smartdevice.Connectivity.dll への参照を追加します。

  2. アプリケーションは DatastoreManager を作成し、それを使用して Platform オブジェクトのコレクションを列挙します。各 Platform は、デスクトップ コンピュータのデータ ストアにインストールされている Windows Mobile 5.0 Pocket PC などのプラットフォームを表します。

  3. アプリケーションは、Platform を使用して、Device オブジェクトのコレクションを列挙します。各 Device は、プラットフォームに所属するデバイスまたはエミュレータ (Windows Mobile 5.0 Pocket PC エミュレータなど) の 1 つを表します。

  4. アプリケーションは、Device を使用して、デバイスに関する情報にアクセスし、デバイスを用意し、デバイスに接続します。

  5. デバイスに接続した後、アプリケーションは FileDeployer を使用してデバイスにファイルを配置するか、RemoteProcess を使用してデバイスでプロセスを開始または停止します。

  6. FileDeployerRemoteProcess、および Device では使用できないカスタム タスクを実行する必要がある場合、アプリケーションは RemoteAgent を作成してデバイスにデバイス エージェントを配置し、デバイス エージェントとデータを交換することができます。デバイス エージェントは、開発者が作成するスマート デバイス アプリケーションで、Microsoft.SmartDevice.DeviceAgentTransport 名前空間 (Visual C# デバイス エージェントか Visual Basic デバイス エージェントの場合) または DeviceAgentTransport.dll library (Visual C++ デバイス エージェントの場合) を使用します。RemoteAgent を使用してデバイス エージェントを配置するには、デバイス エージェントがデスクトップ コンピュータのデータ ストアにアドオン パッケージとして登録されている必要があります。詳細については、「アドオン パッケージの概要」を参照してください。アプリケーションは、デバイス エージェントを配置して通信を行うために次の手順を実行します。

    1. デスクトップ アプリケーションは RemoteAgent.Start を呼び出し、デバイス エージェントを配置して起動します。

    2. デバイス上でデバイス エージェントが実行されると、アプリケーションは IDeviceAgentTransport.AcknowledgeLaunch を呼び出して接続の確認を行います。

    3. デバイス エージェントは IDeviceAgentTransport.AcceptConnectionEx を呼び出し、デスクトップからのパケット ストリーム要求を受け入れます。

    4. デスクトップ アプリケーションは RemoteAgent.CreatePacketStream を呼び出し、データ転送のための DevicePacketStream を取得します。

    5. この時点から、リモート アプリケーションとデバイス エージェントは、それぞれのデバイス パケット ストリームに対して Packet オブジェクトまたは IPacket オブジェクトの読み取りおよび書き込みを行うことにより、データを交換します。

    デバイス エージェントはデバイスで実行されるので、情報の収集やデバイスの操作のためにプログラムからアクセスできます。

    メモ :

    上で説明したデバイス エージェントは、Microsoft.SmartDevice.DeviceAgentTransport と .NET Compact Framework を使用しています。代わりに、アンマネージ デバイス側スマート デバイス接続 API を使用することによって、アンマネージ デバイス エージェントを作成することもできます。

このようなアプリケーションの作成方法を示す操作手順については、「チュートリアル : デスクトップ アプリケーションとデバイス アプリケーションの間でデータを交換する」を参照してください。

スマート デバイス接続 API でのファイルと名前空間

スマート デバイス接続 API は、次のもので構成されます。

  • デスクトップ アプリケーションで使用するための Microsoft.SmartDevice.Connectivity 名前空間 ((drive:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Bin\Microsoft.Smartdevice.Connectivity.dll)。

  • Visual C# デバイス エージェント アプリケーションまたは Visual Basic デバイス エージェント アプリケーションを作成するための Microsoft.SmartDevice.DeviceAgentTransport 名前空間 (drive:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\Microsoft.Smartdevice.DeviceAgentTransport.dll)。

  • Visual C++ デバイス エージェント アプリケーションを作成するための アンマネージ デバイス側スマート デバイス接続 API(drive:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\cpu\DeviceAgentTransport.dll)。

データ ストアとは

データ ストアは、コンピュータにインストールされているプラットフォーム、デバイス、エミュレータ、およびパッケージに関する情報が含まれている、デスクトップ コンピュータ上の一連の XML ファイルです。データ ストアはコア コネクティビティの一部で、Microsoft Visual Studio または Microsoft Platform Builder と共にインストールされます。Windows Mobile などの Windows CE に基づく SDK をインストールすると、データ ストアの内容が変更されます。

データ ストアは、drive:\Users\All Users\Microsoft\corecon\1.0 (Windows Vista) または drive:\Documents and Settings\All Users\Application Data\Microsoft\corecon\1.0 (Windows XP) にあります。

メモ :

データ ストア フォルダ内のファイルを変更する場合は、変更前にデータ ストアをバックアップしてください。ファイルの形式が正しくないと、データ ストアが破損し、Visual Studio が正常に機能しなくなります。

変更するのは、データ ストア内のアドオン フォルダのみにしてください。詳細については、「アドオン パッケージの概要」を参照してください。

参照

その他の技術情報

Smart Device Connectivity API Samples