Описание тега driverkit

DriverKit - это среда разработки драйверов устройств для операционной системы MacOS от Apple, представленная в macOS 10.15 "Catalina".
1 ответ

idVendor для apple.developer.driverkit.transport.usb

Я читал этот информативный пост. Как установить права на `com.apple.developer.driverkit.transport.usb`? Хотела спросить, а где это взять idVendorиз? Какой должна быть его стоимость?
1 ответ

Проблема с производительностью после перехода с KEXT без кода на DEXT

Я работаю над переносом KEXT без кода на DriverKit. Он используется для отключения драйвера IOKit HID для USB-устройств, которые в режиме обновления прошивки представляют себя как HID-совместимые. Пока мне удалось сопоставить пустой подкласс IOServi…
06 май '20 в 12:22
1 ответ

Миграция KEXT без кода на DEXT без кода

Я переношу KEXT без кода на DEXT без кода. Я просмотрел видео WWDC и прочитал большую часть информации на сайте разработчиков Apple. Моя трудность заключается не в том, что делать, а в том, как начать. Помогло бы хорошее руководство с примером проек…
02 авг '20 в 09:05
0 ответов

Как реализовать IOHIDEventDriver с использованием SystemExtension

У меня старый проект, использую kext и IOHIDEventDriver: https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-315.7.16/IOHIDFamily/IOHIDEventDriver.h.auto.html https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-247/IOHIDFamily/IOHIDE…
09 сен '19 в 06:21
1 ответ

Как мне написать драйвер с помощью IOKit/DriverKit для MT6320 в комплекте Azure Sphere Kit от MSFT?

Где находятся пошаговые инструкции по написанию универсального драйвера на подключенную через USB плату разработчика для MacOS с использованием IOKit/DriverKit (публично показанного на WWDC 2019) в Xcode?
07 сен '19 в 00:48
1 ответ

Как создать обратный вызов IOUSBHostPipe::CompleteAsyncIO?

Я пишу SystenExtension для связи с USB-устройством. Мой первоначальный план - создать классTransferкоторый выделяет необходимый IOMemoryDescriptor, а затем передает интерфейс, который мне нуженTransferкласс для общения. Я хотел бы, чтобы обратный вы…
0 ответов

как получить событие прерывания в DEXT - Проблема в драйвере Catalina DEXT

Я новичок в KEXT и DEXT для Mac OS. Попытка перенести драйвер KEXT на DEXT в целях разработки. Мой вопрос: когда мы отключаем USB-устройство, в случае KEXT мы получаем kIOMessageServiceIsTerminated через вызов message(), который сообщает нам, что ус…
0 ответов

что такое класс DEXT для драйвера данных ACM для создания куска?

Я новичок в kext/dext и пытаюсь перенести драйверы kext на dext для целей разработки. В kext для драйвера данных ACM мы создали кусок, используя класс IOModemSerialStreamSync. В случае dext, какой класс мы будем использовать для той же цели?
13 апр '20 в 11:45
2 ответа

Как написать расширение набора драйверов для Mac OS catalina

Я пытаюсь написать расширение набора драйверов для одного из устройств. У меня нет информации о том, как написать расширение набора драйверов для mac os Catalina. Единственная документация, которую я получил, это Ссылка на DriverKit: https://develop…
1 ответ

Должен ли я использовать IOKit или DriverKIt (или HIDDriverKit) для написания драйвера для устройства Multi-Touch USB или Bluetooth в macOS?

Я планирую написать драйвер для мультисенсорного устройства USB или Bluetooth, аналогичного Apple Magic Trackpad или Logitech trackpad для Mac. Идея состоит в том, что все приложения macOS могут использовать это устройство multi-touch. Поскольку нед…
07 май '20 в 04:49
1 ответ

Как перезаписать части внутреннего буфера DriverKit OSData?

Документация OSData говорит, что "... Вы можете добавлять к ним байты и перезаписывать части байтового массива".. Я вижу способ добавления байтов, но не понимаю, как я могу перезаписать часть буфера. Другой вариант - использовать IONewZeroвыделить р…
28 май '20 в 17:48
1 ответ

Как выделить память в системном расширении DriverKit и сопоставить ее с другим процессом?

Я выделил память в своем приложении и передал ее указатель и размер в IOConnectCallStructMethod. С помощью IOMemoryDescriptor::CreateMapping Затем я сопоставил эту память процессу системного расширения DriverKit, и можно записать в эту сопоставленну…
1 ответ

Могут ли `new` и` delete` использоваться в драйвере DriverKit?

DriverKit предоставляет IONewZero а также IOSafeDeleteNULL . Они не вызывают никаких конструкторов или деструкторов. Допустим, я хотел бы иметь какой-то класс в структуре ivars. Класс не должен наследовать отOSObject ни IOService. Как мне построить …
0 ответов

Как сохранить конфигурацию из драйвера DriverKit

Мне нужно сохранить конфигурацию из драйвера DriverKit. Я читал Как сохранить конфигурацию kext между сеансами, и в этом случае кажется, что предпочтительным способом является сохранение конфигурации из пользовательского приложения. Поскольку драйве…
20 авг '20 в 00:07
1 ответ

Как драйвер DriverKit уведомляет приложение?

Я знаю, как отправить данные в DriverKit и вернуть некоторые значения, то есть вызов приложения IOConnectCallStructMethod() и водитель заполняют OSData в structureOutput из приложения. В моем приложении он использует IOConnectCallAsyncScalarMethod()…
24 авг '20 в 05:18
1 ответ

Как следует реализовать "NewUserClient"

Я пытаюсь взаимодействовать с декстом из приложения. Я могу найти сервис, используяIOServiceOpen и мне звонят NewUserClient моего декста (я вижу typeпереданный параметр выводится в журнал). После этого я немного заблудился. Читая здесь о NewUserClie…
2 ответа

kIOReturnNotPermitted от IOServiceOpen, подключающегося к SystemExtension IOService

Я пытаюсь создать клиентское соединение с SystemExtension IOService. Я вижу, что мойIOUserClient подкласс создается (init() а также Start(IOService*) называется), но код возврата из IOServiceOpen возвращается kIOReturnNotPermitted. Я звоню IOService…
1 ответ

Как установить права на `com.apple.developer.driverkit.transport.usb`?

Я не уверен, как установить com.apple.developer.driverkit.transport.usbвведите мой dext-файл прав. Файл Info.plist уже содержитIOKitPersonalities словарь и чтение о com.apple.developer.driverkit.transport.usb словарь, похоже, он должен содержать зап…
1 ответ

Как получить доступ к IOMemoryBufferDescriptor в CompleteAsyncIO, который отправляется через AsyncIO при прерывании EP

Я пытаюсь отправить запрос с помощью AsyncIO для прерывания EP, для AsyncIO я создал IOMemoryBufferDescriptor, как только IOMemoryBufferDescriptor, Create - это успех, я использовал GetAddressRange и сохранил адрес в структуре dext ivars. Для этого …
19 июн '20 в 21:25
0 ответов

Как вызвать метод переопределения handleInterruptPacket в случае ACM DEXT(IOUserUSBSerial)?

В ACM Dext метод переопределения handleInterruptPacket не вызывается системой. Пожалуйста, дайте мне знать, что чего-нибудь не хватает. iig файл: class UserUsbACMControl: public IOUserUSBSerial { virtual void handleInterruptPacket(const uint8_t *pac…
23 июн '20 в 10:54