Как я могу циклически повторить USB-устройство от C#?

Предложена C ++ 0x-совместимая библиотека атомизации Boost: http://www.chaoticmind.net/~hcb/projects/boost.atomic/

Цель этой библиотеки - предоставить реализацию атомарных операций для повышения, основанную на интерфейсе, заданном проектом стандарта C ++ 0x. Он призван упростить переход на std :: atomic, а также предоставить средства, позволяющие сделать код с использованием этой функции C ++ 0x скомпилированным на старых системах.

Это, очевидно, еще не является частью Boost, но вы можете проверить ветку обзора здесь: http://lists.boost.org/Archives/boost/2009/12/160195.php

Boost.Atomic теперь в форме, которую я считаю называть релизом. Он поддерживает «истинные» атомарные переменные в:

  • gcc / x86, 32-битный (тестируется в Linux, FreeBSD)
  • gcc / x86, 64-битный (тестируется на Linux)
  • gcc / powerpc32 (протестировано на Linux, Mac OS X)
  • gcc / powerpc64 (не проверено)
  • универсальный Win32 (протестировано с Visual Studio Express на Win XP)

Для всех остальных это изящно возвращается к заблокированной операции. Существует надлежащая документация по быстрой книге, включая, надеюсь, иллюстративный раздел с примерами.

9
задан callisto 28 May 2009 в 06:21
поделиться

1 ответ

Он заработал с помощью инструмента командной строки под названием devcon, который я затем вызвал из кода.

Перетащил devcon.exe в один из системных путей, чтобы он работал везде.

Devcon: devcon

называется: DEVCON Remove * usb "* MI_01"

, затем вызвал: DEVCON повторно сканировать

код:

 System.Diagnostics.Process proc = new System.Diagnostics.Process();
 proc.StartInfo.FileName = "DEVCON";
 proc.StartInfo.Arguments = "Remove *usb"*MI_01";
 proc.StartInfo.RedirectStandardError = true;
 proc.StartInfo.RedirectStandardOutput = true;
 proc.StartInfo.UseShellExecute = false;
 proc.Start();
12
ответ дан 4 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: