Управление устройствами с помощью API подключения интеллектуальных устройств

Обновлен: Ноябрь 2007

Microsoft Visual Studio включает в себя интерфейсы API подключения интеллектуальных устройств, что позволяет разработчикам в полной мере использовать некоторые основные функции подключения в приложениях. Система обеспечения подключений является платформой взаимодействия, используемой для развертывания файлов, запуска процессов, обновления микропрограмм устройств и отладки приложений на интеллектуальных устройствах в таких продуктах, как Microsoft Visual Studio, Microsoft Visual Studio Remote Tools и Microsoft Platform Builder.

Как правило, интерфейс API подключения к смарт-устройству используется для создания приложений, таких как Средства удаленного управления для проектов устройств. Преимущество заключается в том, что разработчики могут уделять больше внимания логике программирования, так как не должны думать о том, как устанавливать подключение или управлять устройством. Интерфейсы API подключений смарт-устройств позволяют решать следующие задачи:

  • Составление списка доступных платформ и устройств.

  • Установка подключения между локальным настольным ПК и конечным устройством.

  • Развертывание приложений, пакетов и файлов на конечном устройстве.

  • Запуск, остановка и перечисление процессов на конечном устройстве.

  • Обмен данными между настольным ПК и конечным устройством.

Используя интерфейсы API подключения смарт-устройств, можно создавать средства удаленного управления и автоматизировать задачи управления устройствами.

Типичная архитектура приложений подключения смарт-устройств

Лучшим способом ознакомления с интерфейсом API подключения смарт-устройств является изучение типичного настольного приложения, в котором используется этот интерфейс.

  1. Чтобы использовать пространство имен Microsoft.SmartDevice.Connectivity, приложение для настольного ПК добавляет ссылку на библиотеку диск:\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. Если приложение должно выполнять пользовательские задачи, которые недоступны в FileDeployer, RemoteProcess или Device, оно может создать 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. С этого момента приложение удаленного управления и агент устройства обмениваются данными путем считывания и записи объектов Packet или IPacket в соответствующие потоки пакетов устройства.

    Агент устройства имеет полный программный доступ к сбору сведений и управлению устройством, так как он работает на устройстве.

    Bb384093.alert_note(ru-ru,VS.90).gifПримечание.

    Агент устройства, описанный ранее в этом разделе, использует Microsoft.SmartDevice.DeviceAgentTransport и .NET Compact Framework. Кроме того, можно создавать неуправляемые агенты устройств с помощью Неуправляемый интерфейс API подключения смарт-устройства, расположенный на стороне устройства.

Пошаговое руководство по созданию данного типа приложений см. в разделе Пошаговое руководство. Обмен данными между приложениями для настольного ПК и приложениями устройства.

Файлы и пространства имен в интерфейсе API подключения к смарт-устройствам

Интерфейс API подключения к смарт-устройствам состоит из следующего:

Что такое хранилище данных?

Хранилище данных — это набор XML-файлов, содержащих информацию о платформах, устройствах, эмуляторах и пакетах, установленных на компьютере. Хранилище данных является частью системы обеспечения подключения и устанавливается вместе с Microsoft Visual Studio или Microsoft Platform Builder. Содержимое хранилища данных может изменяться при установке пакета SDK, основанного на операционной системе семейства Windows CE, такой как Windows Mobile.

Хранилище данных расположено в диск:\Пользователи\All Users\Microsoft\corecon\1.0 (Windows Vista) или диск:\Documents and Settings\All Users\Application Data\Microsoft\corecon\1.0 (Windows XP).

Bb384093.alert_note(ru-ru,VS.90).gifПримечание.

Создайте резервную копию хранилища данных перед изменением каких-либо файлов в папке хранилища данных. Плохо составленные файлы повредят хранилище данных, и среда Visual Studio не будет работать.

Следует изменять только папку надстроек для хранилища данных. Дополнительные сведения см. в разделе Общие сведения о пакетах надстроек.

См. также

Другие ресурсы

Примеры использования API подключения смарт-устройств