問題タブ [driverkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
376 参照

c++ - IOUSBHostPipe::CompleteAsyncIO コールバックを作成するには?

USB デバイスと通信する SystemExtension を作成しています。私の最初の計画はTransfer、必要なIOMemoryDe​​scriptorTransferを割り当てるクラスを作成し、クラスが通信するインターフェイスを渡すことです。AsyncIOの完了によるコールバックをクラスに作成したい思います。複数の読み取りをキューに入れる必要がある場合は、このクラスのインスタンスをさらに作成できます。コールバックでは、データを解凍して別のreadを送信します。TransfercompleteCallback

Transferでクラスを作成しOSTypeAlloc(Transfer)ます。

私が直面している問題は、OSAction の作成が次のスタック トレースで失敗することです。

代わりに、usb デバイスが接続されたときにシステムによってインスタンス化されるクラスで定義、実装、および作成されるようにコールバックを移動すると (このクラスは plist で key で指定されますIOUserClass)、OSActionオブジェクトの作成は正常に機能します。

への呼び出しは、 へのポインタを への最初の引数として渡すことIOUSBHostInterface::Openによって行われます。これでいいのでしょうか?または、オブジェクトが からコールバックを受け取るオブジェクトと同じである必要がありますか。IOUserClassIOUserClassOpenIOServiceAsyncIO

0 投票する
1 に答える
301 参照

macos - USB DriverKit の Start メソッドでは呼び出されない

DriverKit dext を作成しており、System Extension フレームワークを使用してアクティブ化できます。com.apple.developer.driverkitがtrue に設定されているusbの資格があり ます.com.apple.developer.driverkit.transport.usbは辞書として追加されていますが、サブ値はありません(空です)。

USB デバイスが接続された後、dext の Start メソッドで呼び出されることを期待していましたが、呼び出しが表示されません。

ステップ/構成が欠落しているかどうか、何か考えはありますか?

0 投票する
1 に答える
365 参照

macos - KEXT を DEXT に移植すると、ACM シリアル TTY エントリを作成できません

現在、Apple WWDC19 の発表に従って、カーネル USB シリアル ドライバーをユーザー シリアル ドライバー (Dext) に移植しています。dext は移植され、ターゲット デバイスが catalina (15.4) を実行している MAC OS に接続されている場合にロードできますが、dext ドライバーは /dev/tty を作成できません。アプリケーションが通信するためのエントリ。以下は、dext ドライバーが使用している権限と疑わしい plist エントリです。/dev エントリが作成されない理由を教えてください。

資格の詳細:

plistの詳細: