問題タブ [umdf]

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

c# - Windows ハンドヘルド アプリケーションを USB レシーバーとして使用することは可能ですか?

質問が非常に基本的なものである場合はお詫びします。私は USB プログラミングの経験がなく、ここで概念的な詳細が欠落している可能性があります。

私たちの産業用ソリューションでは、PC wpf アプリケーションと Windows 組み込み HH 8.1 アプリケーションの間の通信を提供することになっています。理想的には、これが USB 経由であることを望みます。

ホスト ロールから USB デバイスに直接接続するためのサンプル コードがたくさんあります。

ただし、この場合、Windows Embedded HH デバイス (Panasonic FZ-E1) は、リッスンするデバイス ロールを持ちます。USB イベント経由で PC アプリケーションから送信された生データに登録する方法が見つかりませんでした。USBデバイス用のドライバーの作成に関する例があるUMDF(ユーザーモードドライバーフレームワーク)を調べましたが、デバイスメーカー向けのようであり、パナソニックHHのメーカーではないため、独自のドライバーを使用すべきではない/使用できず、使用する必要があります既に配置されている WinUSB ドライバーを使用します。

Windows Embedded 8.1 HH には、Windows Phone とは異なり、いくつかの USB API がありますが、API で提供されるすべての機能は、ホスト ロールで外部 USB デバイスに接続するように見えます。USBlyzer を使用すると、PC からデバイスへの USB トラフィックがあることがわかります。そのため、HH がリッスン デバイスの役割を持つことができるはずです。ここで何が欠けていますか、何かアイデアはありますか?

どんな助け/指示も大歓迎です。

PS: Windows Phone パワー ツールのソース コードを調べる Windows 接続 API も試しましたが、エージェント経由の転送を処理するアドオン パッケージの dllは、新しいバージョンの Windows Phone にはもうないようです。

0 投票する
0 に答える
499 参照

visual-studio - Visual Studio 2015 が KMDF/UMDF 展開で常にクラッシュする

Project Properties -> Driver Install -> Deploymentターゲット デバイスを部分的に設定しようとすると、Visual Studio 2015 が常にクラッシュします。

ここに画像の説明を入力

ここで、デバイスを構成しようとすると、VS2015 は常にクラッシュします。この動作は、プロジェクトの KMDF/UMDF タイプの両方で同じです。

ここに画像の説明を入力

WDK を再インストールしようとしましたが、最終的な結果は同じです... MSDN で UMDF/KDMF プロジェクトの両方の基本的なチュートリアルを完了することさえできません...

この問題を解決するにはどうすればよいですか?

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

windows - StartSoftwareTriggerAsync アプリケーション API 呼び出しに対応する POS フレームワーク呼び出しは何ですか?

私は Windows 10 でバーコード スキャナー プロジェクトに取り組んでおり、ソフトウェア トリガーを使用します。アプリケーションから前述の API を取得してソフトウェア トリガーを実装しましたが、これらの呼び出しのドライバー側ハンドラーに関する情報を取得できませんでした。

このソフトウェア トリガー API に対応する POS フレームワークの呼び出しを誰かが提案できますか?

前もって感謝します。

よろしく、 タジピア

0 投票する
0 に答える
81 参照

windows-runtime - UMDF ドライバーで Windows ストア アプリ DLL を使用する

カメラデバイスから画像を取得する Windows ストア DLL があります。この DLL をドライバー ファイル [UMDF 2] で使用して、イメージを取得したいと考えています。DLL は Windows ストア ベースの DLL であるため、ドライバー プロジェクトで直接使用することはできません。UMDF ドライバーで Windows ストア DLL を使用する最良の方法は何ですか?

0 投票する
0 に答える
145 参照

memory-management - Windows 10 で 2 つのユーザー空間ドライバー (UMDF) 間でメモリを共有していますか?

Windows 10 で 2 つのユーザー モード (UMDF) 2.0 ドライバー間でメモリを共有する方法は何ですか?

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

windows - ユニバーサル Windows ドライバー (UMDF 2) をビルドするとリンク エラーが発生する

テンプレートに基づくユニバーサル Windows ドライバー (UMDF 2) の作成に関するチュートリアル ( MSDN チュートリアルへのリンク) に従っているときに、テンプレート コードを変更せずにビルドしようとすると、次のエラーが発生します。

エラー LNK1181 は入力ファイル 'C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\um\x64\wpprecorderum.lib' を開けません

こちらから最新の Windows 10 WDK をインストールしました (WDKへのリンク)。このファイルが C:\Program Files (x86)...\lib\10.0.10586.0\um\x64\ NOT C:\Program Files に存在することがわかりました。 (x86)...\lib\10.0.1024.0\um\x64...

Windows ターゲットのバージョンを 10.0.1024.0 から 10.0.10586 に変更すると、エラーが発生します

エラー WDK バージョン '10.0.10586.0' に対応する SDK が見つかりませんでした。

これをコンパイルするにはどうすればよいですか?以前のバージョンの WDK を見つける必要がありますか?

ありがとう

0 投票する
0 に答える
129 参照

wdf - システムにインストールすると、複数の仮想シリアル ポートが作成されるデバイス ドライバーを開発する必要があります。

これは私にとって初めての Windows デバイス ドライバーであり、Windows デバイス ドライバーをゼロから開発するタスクを割り当てられました。ユーザーがこのドライバーを Windows PC にインストールすると、インストール プロセス中に、ユーザーが必要とする仮想シリアル ポートの数を入力するようユーザーに要求されます。ドライバーのインストール後、ユーザーが希望する仮想ポートの数が作成されます。 . 次に、ユーザーはカスタマイズしたプリンターを USB ポート経由で Wi​​ndows PC に接続します。ユーザーは、9600 ボー レート、8 データ ビット、パリティなし、1 ストップ ビットで新しく作成された仮想シリアル ポートのいずれかを選択することにより、Hyper ターミナルを介してプリンタにデータを送信できる必要があります。

開始するには、MSDN Web サイトから Windows Driver Kit 10 と共に Visual Studio 2015 をインストールした Windows 7 システムを使用しています。また、Windows ドライバーのサンプル コードを GITHUB からダウンロードしました。このサンプル ソース ベースには、serial/Svirtualserial2 の下に virtualSerial UMDF プロジェクトが含まれています。このプロジェクト ファイルには、Virtualserial2 プロジェクトと FakeModem プロジェクトの 2 つのプロジェクトが含まれていたため、FakeModem プロジェクトを削除し (役に立たなかったため)、ソース/VirtualSerial2 サンプル コードを正常にコンパイルしました。コンパイル後、(UDMF ドライバーには .dll 拡張子があるため) .dll ファイルがデバッグ フォールドで生成されますが、このドライバーの .exe を取得できないため、このドライバーをシステムにインストールする方法がわかりません。

また、このリンクhttps://msdn.microsoft.com/en-in/library/windows/hardware/dn745911%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396にプロセスを一覧表示していましたWinDbg を使用して UMDF ドライバーをデバッグします。例では、.exe を実行するように求められるため、最初の質問は、ドライバーの .exe ファイルを生成してシステムでテストする方法です。

これに加えて、もう1つ質問があります。ドライバーをターゲット システムにインストールした後 (Windows 7 32 ビットでは、ハイパー ターミナルにリンクする必要があります)。ハイパーターミナルを介してコマンドとデータをプリンターに送信できるようにするため、ドライバーはハイパーターミナルからデータを取得し、USB を介してプリンターに送信します。どうやってやるの?

私は正しい方向に進んでいますか?

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

memory-leaks - Windows UMDF CComPtr IWDFMemory が解放されない

私のUMDFドライバーでは、IWDFMemory内部にパックされていますCComPtr

のドキュメントにCComPtrは、CComPtrオブジェクトがスコープ外になると、自動的に解放されると書かれています。つまり、このコードによってメモリ リークが発生することはありません。

NULLまた、スコープが終了する前に手動で割り当てるmemoryか呼び出すとmemory.Release()、メモリは解放されません。ここで何が起こっているのだろうか?

0 投票する
0 に答える
200 参照

driver - SCARD_ATTR_DEVICE_UNITの正しい取得方法

スマートカード UMDF Windows ドライバーを開発しています。次の動作を実現したいと思います。

API 呼び出しSCardListReadersを使用して接続されているすべてのリーダーを一覧表示するときに、接続されている各リーダーの正しいフレンドリ名を取得したいと考えています。たとえば、同じブランドのリーダーが 2 つある場合、ドライバーからこれが返されるようにします。

フレンドリ名は属性SCARD_ATTR_VENDOR_NAMEで構成されてSCARD_ATTR_VENDOR_IFD_TYPEおりSCARD_ATTR_DEVICE_UNIT、ドライバーが返されることを知っています。

SmartcardBrand USBReader 0私の質問は、私のドライバーでは、どうすればとを区別できSmartcardBrand USBReader 1ますか?

要求されたときに OS に何を返すかSCARD_ATTR_DEVICE_UNIT。新しいリーダーが接続されるたびに、新しい UMDF ホスト プロセスが起動され (タスク マネージャーで確認できます)、別の新しいメモリ領域が作成されるため、ドライバーでグローバル静的変数を使用してインクリメントすることはできません。

UMDF ドライバーでデバイス インスタンスをカウントする適切な方法は何ですか?


メモリ マップト ファイルを使用して問題を解決しました。基本的に、ドライバーの各 UMDF プロセスは、リーダーのフレンドリ名の名前を持つメモリ マップト ファイルを作成します。他のプロセスが同じ名前のファイルを作成しようとすると、ドライバーが既に実行されていることを示します。

ただし、自分のドライバーを使用するリーダーを接続し、その後 Windows ネイティブ ドライバーを使用するリーダーを接続すると、矛盾が生じます。Windows ドライバーは、私が作成したメモリ マップト ファイルを認識せず、そのデバイスにインデックス 0 を適用します。

Windows ドライバーが読み込まれるとSCARD_ATTR_VENDOR_IFD_TYPE、 、SCARD_ATTR_VENDOR_IFD_TYPEおよびSCARD_ATTR_DEVICE_UNIT私のドライバー (および現在読み込まれている他のすべてのドライバー) からクエリを実行することがわかりました。このようにして、Windowsドライバーはどのデバイスユニットが使用されているかを認識し、空いているユニットをリーダーに適用できると思います。