問題タブ [wdm]

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 投票する
3 に答える
4288 参照

64-bit - DDK/WDM 開発の問題 ... ドライバーが x64 Windows プラットフォームにロードされない

私は DDK/WDM ドライバー開発分野の初心者です。仮想デバイス ドライバーを x86 から x64 (インテル) に移植するタスクがあります。ソースコードを入手し、少し修正して、DDK (ビルド環境) で正常にコンパイルしました。しかし、ia64 Windows7 マシンにロードしようとすると、ロードしませんでした。次に、デバイスドライバーの簡単な例をいくつか試しました

-- http://www.codeproject.com/KB/system/driverdev.aspx (ハイパーリンクを投稿できるように「--」を付けました) および他のリンクからでも同じ問題が発生します。

リンクに使用している一部のライブラリが新しいマシンと互換性がなく、別の同様のライブラリにリンクするよう提案されているとフォーラムで聞きましたが、それでも機能しませんでした。

ビルドするときは、提案どおり「-cefw」コマンド ライン パラメーターを使用します。

*.inf ファイルが関連付けられていませんが、それを system32/drivers にコピーしています。WinObj を使用して、次回の再起動時にメモリに読み込まれるかどうかを確認しています。

また、このプログラム ( http://www.codeproject.com/KB/system/tdriver.aspx ) を試してドライバーをメモリにロードしましたが、それでもうまくいきませんでした。

助けてください...私はこれに行き詰まっており、締め切りはすでに過ぎています。何が間違っているのかを発見しようとして、ここで気が狂っているように感じます。

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

c - Windows WDMドライバーでシステム時刻を設定するにはどうすればよいですか?

GPS時刻同期ハードウェアデバイスを開発しています。そして、デバイス用のWindowsWDMドライバーを作成します。ユーザーレベルの遅延を回避するために、カーネルドライバーレベルでWindows(XP / Vista / 7)システム時間を設定する必要があります。誰かがそれを達成する方法を知っていますか?

ありがとうXuJun

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

windows - Windowsでのコード署名の繰り返しを回避するためのドライバープロキシ

Windows上のドライバーは、コード署名のために署名してMicrosoftに送信する必要があります。これは、64ビットシステムの要件です。問題は、ドライバーを更新する必要がある場合、リリースごとに1回、ドライバーを再度送信する必要があることです。

ある種のプロキシまたはシムドライバーを作成して、署名と送信を1回だけ行い、コードを別のモジュールに入れることはできますか?

もちろん、DLL内の作業コードを移動することはできません。動的にロードされたモジュールも、64ビットカーネルモードで実行するために署名する必要があるためです。コードをrawファイルに入れ、メモリにロードして(実行フラグを有効にして割り当て)、実行するとどうなりますか?他のアイデア?

0 投票する
4 に答える
2438 参照

windows - Windows Driver Model を使用した仮想ドライバー - どこから始めればよいですか?

これまでドライバーを作成したことはありませんが、ネットワーク経由で MIDI データを送信する仮想 MIDI ポートの作成を含むオープンソース プロジェクトを開始しています。

このために、WDM を使用してある種の仮想ドライバーを作成すると思います (カーネル フックで可能でない限り?) - しかし、ドライバー開発の初心者なので、どこから始めればよいかわかりません。

このプロジェクトに役立つ有用なリソースを知っている人はいますか? それとも、出発点としてフォークできる同様のプロジェクトのオープンソース コードですか?

0 投票する
2 に答える
2068 参照

operating-system - Windows カーネル モード ドライバーはどのようにページ メモリにアクセスしますか?

1) ユーザー モード プロセスには、ユーザー モードの仮想アドレスを物理ページ フレームの一意のコレクションにマップする独自の「アドレス コンテキスト」があります。つまり、Windows XP スケジューラがスレッドを切り替えると、特定の仮想アドレスの意味が刻々と変化します。

「スレッドの切り替え」の作業の一部は、着信スレッドのプロセス コンテキストを参照するようにページ テーブルを変更することです。

_

2) Windows カーネル モード ドライバーは、「任意のスレッド コンテキスト」で実行されます。

ドライバーはシステム スレッドを作成し、そのコンテキストで動作する可能性があります...しかし、私はシステム スレッドを作成しない状況について話しています。

ドライバーは、"ExAllocatePoolWithTag" を使用して、ページ (揮発性ストレージ内のメモリ) を割り当てることができます。

_

3)では、ドライバーはコンテキストなしでページメモリにどのようにアクセスしますか?

ポイント1に見られるように、ページメモリは「コンテキスト固有」のページテーブルを介してアクセスされます。

ドライバが他のスレッド コンテキストで実行されている場合...つまり、ページ テーブル エントリはスレッドに関連する phy を指しています。mem、では、ドライバーはどのようにしてページングされたメモリにアクセスできますか?

PS: カーネルプログラミング初心者です。怒らないで。

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

kernel - 同じプロセッサ上の2つのスピンロック?

  1. 2つのCPUが同時に2つの「異なる」スピンロックを保持できますか?

  2. つまり...これは、単一(ユニプロセッサ)CPUが2つの「異なる」スピンロックを同時に保持できないことを意味しますか?

  3. つまり...これは、単一のCPU上のスピンロックの数を1より大きくすることはできないという意味ですか。

PS:「異なる」とは、異なるメモリリソースに関連付けられたスピンロックを意味します。


スピンロックが内部でどのように機能するか知っている人はいますか?...つまり、テストセットの操作中にバスをフリーズしますか?私はグーグルで検索しましたが、絶対的な答えはありません。

0 投票する
2 に答える
3230 参照

windows - NT/デバイス名からファイルパスを取得

デバイスパスをファイルパスに変換したい。

プロセスIDでプロセス名を取得したいので、このコードを使用しています

しかし、それは次のようにパスを提供します\Device\hardDiskVolume1\windows\system32\taskmgr.exe

しかし、私はこれをプレーンなファイル名にしたいC:\windows\system32\taskmgr.exe

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

windows - DDK/WDMはwink32.libをドライバーにインポートします

最近、ドライバーでW32pServiceTableを使用しようとしました。SOURCESにwink32.libをインポートしました:

そして、私はソースファイルで宣言します:

しかし、シンボルが未解決になっています。私は、GDIドライバーだけがwink32.libを使用できることを読みました。しかし、他のドライバーもそのライブラリにリンクできると確信しています(ただし、方法はわかりません)。よろしくお願いします。

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

windows - WDMコンパイラのインクルードパスを取得するにはどうすればよいですか?

Windows XP用のデバイスドライバーのソースコードを読んでいますが、WDMコンパイラの正確なインクルードパスを知りたいです。私はこれらが含まれるべきであることを知っています:

しかし、WDMビルドが使用する他のパスがいくつかあるはずです。たとえば、'__int32'getがどこで定義されているのかわかりません。

ちなみに、同様に、WDMリンカーが必要とするライブラリパスを取得する方法も知りたいです。

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

wdk - WDK で WDM ドライバーをビルドする方法は?

最新の WDK で WDM ドライバーをビルドしたいと考えています。WDM と WDF のソース ファイルの違いは何ですか? ビルド ターゲットを WDF ではなく WDM として指定するにはどうすればよいですか?