共用方式為


使用智慧型裝置連接 API 控制裝置

更新:2007 年 11 月

Microsoft Visual Studio 包含智慧型裝置連接 API,可讓開發人員在其應用程式中利用某些核心連接功能。核心連接是通訊架構,諸如 Microsoft Visual Studio、Microsoft Visual Studio 遠端工具和 Microsoft Platform Builder 等產品都會使用核心連接在智慧型裝置上部署檔案、啟動處理序 (Process)、更新裝置,以及偵錯應用程式。

一般而言,智慧型裝置連接 API 是用來撰寫如裝置專案的遠端工具所述的應用程式。好處是開發人員可以更專注在程式設計的邏輯方面,因為如何連接及管理裝置的細節部分非常抽象。智慧型裝置連接 API 可進行下列工作:

  • 列出可用的平台和裝置。

  • 建立本機桌上型電腦和目標裝置之間的連接。

  • 將應用程式、套件 (Package) 和檔案部署至目標裝置。

  • 啟動、停止和列舉目標裝置上的處理序。

  • 在桌上型電腦和目標裝置間交換資料。

使用智慧型裝置連接 API,您就可以撰寫遠端工具,並且使裝置管理工作自動化。

智慧型裝置連接應用程式的一般架構

了解智慧型裝置連接 API 的最佳方式,就是透過使用此 API 的一般桌上型電腦應用程式來實際執行。

  1. 若要使用 Microsoft.SmartDevice.Connectivity 命名空間 (Namespace),桌上型電腦應用程式就必須加入 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 模擬器)。

  4. 應用程式會使用 Device 來存取與裝置有關的資訊、提供裝置,以及連接至裝置。

  5. 在連接至裝置後,應用程式會使用 FileDeployer 將檔案部署至裝置,或使用 RemoteProcess 來啟動或停止裝置上的處理序。

  6. 如果應用程式必須執行 FileDeployerRemoteProcessDevice 內未提供的自訂工作,可以建立 RemoteAgent 將裝置代理程式部署至裝置,並與其交換資料。裝置代理程式是您所撰寫的智慧型裝置應用程式,它會使用 Microsoft.SmartDevice.DeviceAgentTransport 命名空間 (適用於 Visual C# 或 Visual Basic 裝置代理程式) 或 DeviceAgentTransport.dll 程式庫 (適用於 Visual C++ 裝置代理程式)。為了由 RemoteAgent 進行部署,您必須在桌上型電腦的資料放區將裝置代理程式註冊為附加套件。如需詳細資訊,請參閱附加套件的概觀。應用程式會執行下列步驟,以便部署並與裝置代理程式進行通訊:

    1. 桌上型電腦應用程式會呼叫 RemoteAgent.Start 來部署並啟動裝置代理程式。

    2. 在裝置上執行裝置代理程式後,它會呼叫 IDeviceAgentTransport.AcknowledgeLaunch 以確認連接。

    3. 裝置代理程式會呼叫 IDeviceAgentTransport.AcceptConnectionEx,接受來自桌上型電腦的封包資料流要求。

    4. 桌上型電腦應用程式會呼叫 RemoteAgent.CreatePacketStream,取得 DevicePacketStream 供資料傳輸之用。

    5. 之後,遠端應用程式和裝置代理程式會藉由讀取和寫入 PacketIPacket 物件至其個別的裝置封包資料流來交換資料。

    因為裝置代理程式是在裝置上執行,因此可以進行完整的程式設計存取,以收集資訊及運用裝置。

    注意事項:

    本主題稍早所述之裝置代理程式是使用 Microsoft.SmartDevice.DeviceAgentTransport 和 .NET Compact Framework。或者,您也可以使用 Unmanaged 裝置端智慧型裝置連接 API,建立 Unmanaged 裝置代理程式。

如需如何建立這類應用程式的逐步指引,請參閱逐步解說:在桌面和裝置應用程式之間交換資料

智慧型裝置連接 API 內的檔案和命名空間

智慧型裝置連接 API 由下列各項組成:

  • Microsoft.SmartDevice.Connectivity 命名空間,可在桌上型電腦應用程式內使用 ((drive:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Bin\Microsoft.Smartdevice.Connectivity.dll)。

  • Microsoft.SmartDevice.DeviceAgentTransport 命名空間,用於建立 Visual C# 或 Visual Basic 裝置代理程式應用程式 (drive:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\Microsoft.Smartdevice.DeviceAgentTransport.dll)。

  • Unmanaged 裝置端智慧型裝置連接 API,用於建立 Visual C++ 裝置代理程式應用程式 (drive:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\cpu\DeviceAgentTransport.dll)。

什麼是資料存放區?

資料存放區是桌上型電腦中的一組 XML 檔案,包含安裝在電腦中之平台、裝置、模擬器和套件的相關資訊。資料存放區是核心連接的一部分,會隨著 Microsoft Visual Studio 或 Microsoft Platform Builder 一起安裝。資料存放區的內容會在您根據 Windows CE (如 Windows Mobile) 所安裝之 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 無法運作。

您應該只修改資料存放區內的 addons 資料夾即可。如需詳細資訊,請參閱附加套件的概觀

請參閱

其他資源

智慧型裝置連接 API 範例