Форум ZETLAB

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

Страницы: 1
RSS
Работа с ZADC.DLL в UWP приложении
 
Добрый день! Не удается получить доступ к устройству ZET 230 из UWP приложения (C#). Функция ZOpen() все время возвращает величину 0xA00. В чем может быть дело? Очевидно, что функция ZOpen() вызывается, но устройство возвращает результат как будто оно отключено. Так осуществляется запрос устройства:
Код
[DllImport("Zadc.dll")]
public static extern long ZOpen(long typeDevice, long numberDSP);

public MainPage()
{
    long res = ZOpen(17, 0);
}
Так описан доступ к устройству в Package.appxmanifest:
Код
  <Capabilities>
    <DeviceCapability Name="usb">
      <Device Id="vidpid:10E8 372B">
        <Function Type="classId:ff * *" />
        <Function Type="name:vendorSpecific" />
        <Function Type="winUsbId:D5F9B934-61FF-4E3A-B6F3-15F7C25F337F" />
      </Device>
    </DeviceCapability>
  </Capabilities>
 
Добрый день! Такой код ошибки означает, что Zadc.dll не может обнаружить или "открыть" устройство. Если в ПО ZETLAB то же самое устройство открывается нормально, то, скорее всего, проблема связана с настройками безопасности в UWP среде. При открытия устройства по USB в Zadc.dll используются следующие функции (в основном, из Setup API): SetupDiGetClassDevs - для доступа к устройствам с заданным Interface GUID, в случае с ZET 230 Interface GUID: {581a984c-86fc-4510-91ac-1d891bd966ad} SetupDiEnumDeviceInterfaces - для получения списка доступных устройств SetupDiGetDeviceInterfaceDetail - для получения пути к "файлу" устройства для открытия CreateFile - собственно, для получения доступа Любая из этих функций может привести к коду 0xA00. К сожалению, больше ничего на данный момент сказать не можем, так как не занимаемся разработкой ПО на C#.
Страницы: 1
Читают тему