問題タブ [iokit]
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.
macos - vnode を使用してファイルを削除するにはどうすればよいですか?
Mac OS 用のカーネル エクステンションを作成しています。vnode_open() によって作成された tmp ファイルを削除する必要がありますが、ファイルを削除してディレクトリ内のすべてのファイルを一覧表示する方法がわかりません。
ありがとう!
objective-c - Mac OS X で USB ポート番号を取得するにはどうすればよいですか?
IORegistryEntry
IOKit で1 つのクラスを見つけました。プロパティの値を取得するための API があります。このクラスを使用しようとしていますが、コンパイルできません。
IOKit とカーネル フレームワークを追加しました。次のようなコンパイル エラーがスローされます。
IORegistryEntry が宣言されていません。
コンパイルの仕方を知っている人がいたら教えてください。
macos - MacIOKitUSB信号検出
USBデバイスをMacPCに追加しながら通知を処理することは問題ありませんが、ユーザーがUSBデバイスのボタンを押している間に信号を受信できますか?
皆さんありがとう!
usb - 接続されたデバイスの IOKit (CoreFoundation) からの通知の受信に関する問題
現在、10.6.7 で、新しい USB デバイスが接続されたときに通知を受け取るアプリケーションを開発しています。「IOServiceAddMatchingNotification」などを処理する IOKit 関数があることがわかりました。この特定の関数からの戻り値は 0 であるため、問題はおそらく、この関数に渡される一致する Dictionary にあると思います。私は辞書をそのように宣言します:
デバイスごとに通知を受け取りたくないので、これがこの特定の辞書を作成する正しい方法かどうかわかりません。
私の完全なコードは次のようになります。
なぜこれがうまくいかないのか、誰にも分かりますか?(注: Callback 関数は static void c 関数であり、残りは Obj-C クラスにラップされています)。
ありがとう
Xcode 4、10.6.7
cocoa - OS X で GPIO USB デバイスと通信するにはどうすればよいですか?
GPIO チップを搭載した ViMicro の USB Web カメラを持っています。IO ピンの 1 つに接続されたマイクロスイッチがあり、ViMicro によって提供された という名前の ActiveX コントロールを使用して、Windows 上のスイッチの状態を読み取ることができますexvmuvc.ax
。OS X で IOKit を使用してこの機能を複製する必要があります。
SysNucleus の USBTrace は、Windows システムと USB デバイスの間で行われている会話を表示しますが、これを Mac で複製することはできません。
パケットを比較できるように OS X で動作する USBTrace などのソフトウェア USB スニファーを知っている人はいますか? また、Linux でも、この特定のカメラ チップとその GPIO サブシステムに詳しい人はいますか?
macos - OS X 用のディスプレイを作成するには?
OS X用のディスプレイドライバと思われるものを書く必要があります。アプリですが、別のディスプレイを OS X に登録する OS X ソフトウェアを作成し、さまざまなニーズに使用できるようにピクセル データを提供する必要があります。
どこから始めればよいですか? IOKit について読んだことがありますが、OS X に自分がモニターであることを伝えるために何をする必要があるのか、ピクセル データがどのように表示されるのかがよくわかりません。
私が読む必要があるクラス/ヘッダー/などへのいくつかのリンクも問題ありませんが、誰かがこれを行って詳細を知っていれば、非常に役に立ちます。
また、これはカーネル拡張である必要がありますか、それとも OS X に 2 番目のモニターを提供するユーザー空間 IOKit ドライバーを作成することは可能ですか?
最後に、明確にするために、2 番目のモニター (ミラーリングまたは拡張) に送信されるピクセル データが必要なだけです。実際にモニターや I/O デバイスを接続しているわけではありません。
iphone - iOSアプリでIOKitを使用すると、アプリが拒否されますか?
Erica IOKitが述べたように、開発者はセミプライベートフレームワークです。app-storeアプリで使用した経験のある人はいますか?IMEIとICCID番号を取得するために使用したいと思います。
macos - OS X: __LP64__ が純粋仮想関数につながるのはなぜですか?
2003 年頃のI/O Kitコードを更新しようとしていますが、何か奇妙なことに実行してい__LP64__
ます。プリプロセッサ マクロが設定されている場合にのみ、メソッドが純粋仮想として宣言されている場所がいくつかあります。IOBlockStorageDeviceからの例:
上記の例で、10.3 ではなく >=10.4 で getWriteCacheStatus の実装を強制するのはなぜですか? これは「以前にこれを行うべきだった」という単なるケースですか、それとも私が見ていないより深い何かがあるのですか (通常はそうです)。
macos - IOKit Mac ドライバーを開発するには 2 台のマシンが必要ですか?
OS X 用の IOKit CFPlugin ドライバーを作成しています。受信したネットワーク データを MIDI データに変換して作業します。組み込みの Airport 以外にハードウェアは関与しません。私は Windows マシンのドライバーとファームウェアの経験がありますが、Mac でそれを行うのはこれが初めてです。これまでのところ順調に進んでいますが、Apple のドキュメントには次のように書かれています。「安全上の理由から、開発マシンにドライバをロードしないでください。」
私はMacを1台しか持っていません。私は本当に 2 台の Mac は必要ありません。申し訳ありませんが、Apple。この警告を真剣に受け止めるべきですか? 知っておくべきことはありますか?
ありがとう、トム・ジェフリーズ
macos - プロセスの起動時に IOKit が予約するメモリの量を減らすにはどうすればよいですか?
私は非常に大規模なメモリ集約型の 32 ビット アプリケーションに取り組んでいる開発者です。仮想アドレス空間 (メモリ) の不足は私たちにとって問題です。最近の問題の調査中に、IOKit (512MB) によって予約されている大きなメモリ チャンクがあることに気付きました。このメモリは割り当てられておらず、予約されているだけです。さらに調査したところ、ほとんどのアプリケーション (Safari、iTunes など) もすべて、このメモリのチャンクを予約していることがわかりました。未割り当てのままのようです。vmmap を使用してテストしています。たとえば、デフォルトのテンプレートを使用して、XCode で作成された Cocoa アプリケーションを次に示します。
そのメモリのプールを削減または排除するためにできることはありますか? 私たちのアプリケーションは実際にその 512MB を使用できます!!!
編集:さらに調査を行ったところ、このメモリのチャンクは、ユーザー空間にマップされているビデオ カードのフレーム バッファであるようです。したがって、より正確な質問は、ユーザーモードの仮想アドレス空間の大部分を占めるフレームバッファーを制限する方法があるかどうかだと思いますか?
編集: さらにテストを行ったところ、変更が必要なキーは IFBMemorySize であることがわかりました。次のコマンドを実行すると、次のようになります。
または、IORegistryExplorer で確認できます。ただし、その値を変更することに失敗しました。ATIFramebuffer.kext の Info.plist に追加しようとしましたが、ダメです。IOConnectSetCFProperty を呼び出すプログラムを作成しようとしましたが、kIOReturnUnsupported が返されました。
編集: さらに調査した結果、この IOFBMemorySize キーは読み取り専用である可能性が高く、単にビデオ カードで使用可能なメモリの量を報告しているようです。CoreGraphics の Configuration.plist には興味深い値がいくつかあるように見えましたが、メモリ割り当てに影響を与えるものはありませんでした (再起動後でも)。