• Автор
    Тема
  • #86168

    nitisara
    Участник

    Добрый день!
    Не удается получить доступ к устройству 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>
Просмотр 1 ответа - с 1 по 1 (всего 1)
  • Автор
    Ответы
  • #86172

    Добрый день!
    Такой код ошибки означает, что 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 ответа - с 1 по 1 (всего 1)

Для ответа в этой теме необходимо авторизоваться.

Авторизация
*
*

три × 2 =

Потеряли пароль?

Политика конфиденциальности персональных данных

Регистрация
*
*
*

15 − шесть =

Политика конфиденциальности персональных данных

Генерация пароля

семь − 4 =