Устройство USB дважды показывает в IORegistryExplorer, когда оно отключено - как живое и как отключенное - PullRequest
2 голосов
/ 05 октября 2011

У меня есть USB-устройство, для которого я разработал код без кода, чтобы OS X не смог его превентивно захватить.Kext просто сопоставляет устройство с другим kext в IOBluetoothFamily.kext.

Я замечаю странное поведение, когда выполняю следующее:

  • Перезагрузка только для очистки ввода-выводаРеестр.
  • Запустите IORegistryExplorer.
  • Подключите устройство, получите: зарегистрировано, соответствует, активно с сохранением 10, занято 0.
  • Отключите устройство, запись становится красной (прекращена)объект).
  • Обновление реестра: уничтоженный объект остается (как и ожидалось).Кроме того, незавершенный объект обнаруживается с тем же содержимым, что и завершенный, за исключением того, что он не зарегистрирован, не сопоставлен, не активен, сохраняет 4, занят 2.
  • Очистить завершенные объекты - исчезнет только красная запись.Остальная запись остается.

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

Возможно ли, что в кексте, с которым я сопоставляюсь, есть ошибка?

1 Ответ

1 голос
/ 05 октября 2011

Исходя из моего опыта, IORegistryExplorer (и USB Prober) имеют тенденцию поддерживать объекты в живых (что часто делает невозможным выгрузить кексы), закрытие IORegistryExplorer решает проблему.

...