Интерфейс IRAPIStream COM в .NET
-
09-06-2019 - |
Вопрос
Я пытаюсь использовать класс RAPI OpenNETCF для взаимодействия с устройством Windows Mobile с помощью метода RAPI.Invoke ().
Согласно следующей статье: http://blog.opennetcf.com/ncowburn/2007/07/ 27 / HOWTORetrieveTheDeviceIDFromTheDesktop.aspx р>
Вы можете осуществлять связь либо в блочном, либо в потоковом режиме. Раньше я использовал блочный режим, но теперь мне нужно сделать что-то более сложное с гораздо большим объемом данных и непрерывной связью, и поэтому мне нужно использовать потоковый режим. К сожалению, в этой статье, и в основном везде , нет объяснения того, как использовать IRAPIStream в .NET. Я нашел документацию по C / C ++, но мое настольное приложение должно быть написано на C #
Кто-нибудь знает, как правильно реализовать COM-интерфейс IRAPIStream в .NET? И что еще лучше, кто-нибудь раньше использовал RAPI.Invoke () с IRAPIStream? Примеры будут высоко оценены.
Редактировать. Внимательно изучив документацию по классу RAPI, я понял, что метод Invoke () не поддерживает потоковый интерфейс .... поэтому OpenNETCF, скорее всего, отсутствует, но, возможно, еще есть способ сделать это
Решение
Я обнаружил, что, как правило, наиболее эффективный и стабильный способ передачи / извлечения больших объемов данных устройства через ActiveSync - это использование сокета. Ранее мы использовали CeRapiInvoke и поток для передачи данных с устройства, но на раннем этапе мы отказались от него в пользу использования tcp / ip через сокет.