問題タブ [device-driver]
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.
linux - Linuxドライバーの学習
私は今日、ドライバーのプログラミングを学んでいます。
私はこの本から学んでいますLinuxデバイスドライバー
しかし、私は少し練習不足です。私が始めることができるいくつかの簡単なプロジェクトを私に勧めてもらえますか?
または、初心者が何が起こっているのかを理解できるオープンソースプロジェクト。
追加の例とチュートリアルを歓迎します。
手伝ってくれてありがとう。
c++ - Windows で再生デバイスをプログラムで強制的に再起動/再ロードするにはどうすればよいですか?
強制的にというのは、一部のオーディオ アプリケーションがそれを使用している場合でも意味します。
リロードとは、スピーカー プロパティの詳細タブでスピーカーの共有モードのサンプル レートが変更された後に発生する種類のことを意味します。オーディオ アプリケーションはすぐに停止します。
そのような再起動をプログラムで行うことは可能ですか? (または、SDK が公開する任意のインターフェイスを介してプログラムで共有モードのサンプリング レートを変更する場合でも)
installation - ドライバのインストール中にハードウェアの変更がないかデバイスツリーを再スキャンします
InstallShieldを使用して、アプリケーション、ドライバー、およびサービスをインストールしています。プラグアンドプレイドライバーは、デバイスマネージャーでハードウェアIDが見つかった場合にのみインストールする必要があります。ドライバーのインストールは、DPInst.exeを使用して行われます。私の問題は、ユーザーが手動でドライバーをアンインストールできる場合があり(インストール後、または[その他のデバイス]の下の[不明なドライバー]をアンインストールした後)、デバイスがデバイスツリーにハードウェアIDが見つからないことです。プラグが差し込まれています。( 「新しいハードウェアのスキャン」に相当するコード)を使用してインストール中にデバイスツリーを再スキャンすると、ハードウェアIDを見つけることができますが、「新しいハードウェアの検出ウィザード」が表示されます。CM_Reenumerate_DevNode_Ex
デバイスツリーを再スキャンして「新しいハードウェアの検出ウィザード」を抑制したり、再スキャンを回避したりして、デバイスのハードウェアIDがシステムに存在することを確認したりする方法はありますか?
networking - ネットワークに生のパケットを注入するにはどうすればよいですか
特定のネットワークデバイスドライバーの受信機能をテストする際に、ネットワーク上で特別なパケットを送信する必要があります。rawソケットを開いて、バイトをプッシュする必要があることはわかっています。このレベルで再生できる有名な例(C、perlなど)のコードはありますか?
(後で追加)プラットフォーム固有ではない回答をお勧めします。それらはすべての人にとって最も役立つでしょう。
windows - 画像ファイルに印刷する印刷ジョブのキャプチャ
私はWindowsプリンタードライバーの初心者であり、次の点についてのアドバイスをいただければ幸いです。
- プリンターとして列挙する(印刷メニューでは、PDFファイルへの印刷と同様)
- 印刷ジョブをキャプチャしてJPGファイルにエンコードします(たとえば)
ImageMagickのようなオープンソースツールを使用することを考えているので、JPGエンコーディングに慣れています。しかし、列挙と印刷をどこから始めればよいのかわかりません。
ところで、Microsoft WDM DDKは無料でダウンロードできますか?
driver - WinXP 用の仮想オーディオ デバイス ドライバーの作成方法
WinXP で最も簡単なオーディオ仮想デバイス ドライバを作成するには? 1 つの方法として WDM ドライバーを作成することは知っていますが、それは簡単な作業ではないと思います。Flash ベースのアプリケーション用にオーディオ フィルタリングを実装する必要があります。残念ながら、それを行う唯一の方法のようです-フラッシュの外部で、デバイスドライバーによって、フラッシュアプリを仮想デバイスに接続できます。いくつかの高レベル API (WDM よりも高い) を使用してデバイス ドライバーを記述できるかどうか疑問に思っていました。仮想 USB オーディオ デバイスとしての UMDF (?) または仮想デバイスを登録する dll のみを使用できます。Google トーク プラグインには、仮想 Web カメラを提供する googleadapter.dll が含まれていることがわかりますが、どのように記述したのだろうかと思います。
前もってありがとう、ternyk
winapi - デバイスのステータスを取得するための WINAPI
特定のデバイスのステータスを取得するために使用できる WINAPI 呼び出しはありますか。次の呼び出しを使用して、デバイスへのハンドルを取得できます。
SetupDiGetClassDevs
SetupDiEnumDeviceInfo
SetupDiSetSelectedDevice
しかし、ステータスがエラー コード 28 を示している場合にのみ、デバイスをアンインストールしたいと考えています (エラー コードについては、 http://support.microsoft.com/kb/125174を参照してください)。
ここの以前の投稿から、デバイスをアンインストールする方法を知りましたが、それは私にとっては問題なく機能しています。
WINAPI 呼び出しを使用してデバイスの状態を取得する方法を知る必要があります。
ガイドしてください。
windows-ce - プラットフォーム ビルダーで CE 6 にタッチスクリーン ドライバーを追加した後、何も触れない
Windows CE プロジェクトに TSHARC タッチスクリーン ドライバを追加しましたが、タッチが機能しません。タッチスクリーンキャリブレーション実行可能ファイルと同様に、dllがそこにあります。どのドライバーがいつ読み込まれるかはわかりません。任意のガイダンスをいただければ幸いです。
linux-kernel - キャラクターデバイスドライバー
「cmosram.c」デバイス ドライバーの read() および write() コールバック関数は、呼び出されるたびに 1 バイトのデータしか転送しないため、RTC ストレージの場所をすべて読み取るには 128 のシステム コールが必要です。
read() 関数と write() 関数を変更して、提供されたバッファーのスペースが保持できる限り多くの有効なバイトを転送することで、このドライバーの効率を改善できますか?
コードは次のとおりです
c# - C#2.0 でジェネリック リストを別のジェネリック リストから減算する方法
まず第一に、私が自分の問題に間違った方法で取り組んでいる可能性が非常に高いです。その場合、代替案を喜んで受け入れます。
私が達成しようとしているのは、USB デバイスがコンピューターに接続された後に作成されたドライブを検出することです。
簡略化されたワークフローは次のとおりです。
GetRemovableDriveList
リムーバブル ドライブ文字の文字列のリストを返します。私のアイデアは、デバイスが接続される前にリムーバブル ドライブのリストを取得し、接続後に別のリストを取得することでした。最初のリストの内容を 2 番目のリストから削除すると、接続されたばかりのドライブが残ります (通常は、唯一)。
しかし、あるリストを別のリストから「差し引く」簡単な方法が見つかりません。誰でも解決策、または私がやろうとしていることを達成するためのより良い方法を提案できます.
注: プロジェクトは .NET Framework 2.0 を対象としているため、LINQ は使用できません。
ありがとう!