問題タブ [drivers]

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 に答える
791 参照

applet - Installing Drivers via a Java Applet

Just wondering if anyone has had any experience with installing hardware drivers via a Java Applet. I'm currently writing an applet that will be accessing some hardware and will be embedded into a web page. In order to make things easier for end users I would like to have it detect if the drivers are installed and if not install them.

This will be a signed applet, so it should be able to access files and system information. From what I understand, drivers are just a few system files being placed in the right spot with a few registry settings as well.

Is this doable? I can't find any info online about doing this.

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

windows - Windows XP のトランスペアレント プロキシ

Windows XP で動作する実験的な TCP/IP スタックがあります。このスタックは、LSP と NDIS IM を使用して Windows TCP/IP スタックをバイパスします。実験的なスタックを使用したい他のプラットフォームをサポートするために、プロキシ サービスを提供する必要があります。プロキシはクライアントに対して透過的でなければなりません (クライアント構成なし)。このプロキシ サービスをユーザー モードで実行したいと考えています。このモードでは、通常の Windows TCP/IP を使用してクライアントに TCP 接続し、実験スタックを介して TCP 接続を使用します。この方法で接続すると、プロキシは 2 つの間で読み取り/書き込みを行うだけです。私が取り組んでいる問題は、元の宛先アドレス/ポートの知識を維持しながら、あるアドレス/ポート宛てのクライアントから着信パケットを取得し、それをプロキシにリダイレクトする方法です。そのため、プロキシはパケットを適切な宛先に転送できます。これに関するアイデアをいただければ幸いです。ありがとう...

0 投票する
10 に答える
38594 参照

c# - USBポートの電源を制御しますか?

特定の USB ポートの USB ピンを制御する方法を知っている人はいますか? アセンブラでは間違いなく可能だと思いますが、C++ や C# ではどうでしょうか。

USBバッテリーをLEDなどの電源として使えるようにしたいです。そのため、プログラムは電源を入れてから電源を切り、点滅させます。

無意味に聞こえることはわかっていますが、何か素晴らしいことをする必要があります。

また、カスタム ドライバーが必要になる可能性があることもわかっています。

0 投票する
3 に答える
19862 参照

windows - Windowsのドライブの最大数は?

私はWindowsでプログラムで利用可能なディスクスペースを把握しようとしています。このために、最初に使用可能なドライブのリストを取得し、次にそれらのどれがローカルドライブであるかを確認してから、各ローカルドライブで使用可能なバイトを照会する必要があります。

APIが2つの関数を提示する最初の部分で少し立ち往生しています:

  1. GetLogicalDriveshttp://msdn.microsoft.com/en-us/library/aa364972(VS.85).aspx)これにより、ビットが設定されたDWORDが提供されます(ドライブAが存在する場合はビット0、ドライブBが存在する場合はビット1など)。 )。
  2. GetLogicalDriveStringshttp://msdn.microsoft.com/en-us/library/aa364975(VS.85).aspx)これにより、実際の文字列が得られます。

後で文字列を使用しますが、クエリには最初のオプションを使用することをお勧めします。ただし、私のシステムでは、DWORDは「unsignedlong」(4バイト)にtypedefされていますが、ドライブ文字の範囲はAZ(26-私は思う-文字)のみです。明らかに、システム上に26を超えるドライブを定義できます(ただし、そうする可能性は低いです)。そのため、これらのドライブに規則があるかどうか疑問に思いました。誰かが私にこれに関するリソースを教えてもらえますか?

ありがとう。

0 投票する
6 に答える
15122 参照

unit-testing - 単体テスト デバイス ドライバー

組み込みハードウェアの一部のデバイス ドライバーの単体テストを作成する必要がある状況があります。コードはかなり古くて大きく、残念ながら多くのテストがありません。現時点で可能なテストは、OS を完全にコンパイルしてデバイスにロードし、実際のシナリオで使用して「動作する」ことを確認することだけです。個々のコンポーネントをテストする方法はありません。

ここで、組み込みデバイスの単体テストについて議論している素敵なスレッドに出くわしました。そこから多くの情報を取得しました。もう少し具体的に言って、そのようなシナリオでデバイス ドライバーをテストするための「ベスト プラクティス」があるかどうか尋ねたいと思います。問題のボードが通信しているデバイスをシミュレートできるとは思わないので、おそらく実際のハードウェア自体でテストする必要があります。

これを行うことで、ドライバーの単体テスト カバレッジ データを取得し、開発者がテストを作成してドライバーのカバレッジを向上させることができるようになることを願っています。

私が思いつくのは、OS 上で動作する組み込みアプリケーションを作成し、ドライバー コードを実行してから、結果をテスト ハーネスに送り返すことです。このデバイスには、コードを実行できるように、おそらくテスト PC からアプリケーションを駆動するために使用できるインターフェイスがいくつかあります。

他の提案や洞察は非常に高く評価されます。


更新: 正確な用語ではないかもしれませんが、単体テストと言うときは、OS + ドライバー全体をコンパイルしてデバイスにロードすることなく、コードをテスト/実行できることを意味していました。もしそうしなければならないとしたら、私はそれを統合/システムテストと呼んでいます。

問題は、私たちが持っているハードウェアが限られており、開発者がバグの修正などに使用することが多いことです。1 つを専用にして、CI サーバーと自動テストが行​​われるマシンに接続したままにしておくことは、まったく問題ないかもしれません。この段階。そのため、実際にすべてをビルドしてデバイスにアップロードすることなく、ドライバーをテストする方法を探しています。


概要

以下の優れた回答に基づいて、問題に取り組む合理的な方法は、IOCTL を使用してドライバー機能を公開し、組み込みデバイスのアプリケーション空間にテストを記述して、実際にドライバー コードを実行することだと思います。

また、シリアルまたは USB 経由でドライバーを実行できる API を公開するデバイスのアプリケーション スペースに小さなプログラムを配置することも理にかなっています。ハードウェアとテストを実行します。

プロジェクトが開始されたばかりであれば、テストをほとんど PC レベルで実行できるように、コンポーネントを分離する方法をより細かく制御できると思います。コーディングはすでに完了しており、テスト ハーネスとケースをシステムに後付けしようとしているという事実を考えると、上記のアプローチがより実用的だと思います。

回答ありがとうございます。

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

odbc - Microsoft ODBC driver for Oracle 構文エラーまたはアクセス違反 (-2147217900)

Oracle データベースに接続する大規模な VB プログラムがあります。

私のプログラムには多くのユーザーがいるので、各ユーザーのログイン名とさまざまなテーブルへのアクセス権を含むテーブルがあります。プログラムの起動時にすべてのユーザーのレコードセットを作成し、USERNAME と PASSWORD が含まれているレコード セットから USERNAME と GRANTED_ROLE を選択します。「'password' で識別されるロール 'GRANTED_ROLE' を設定する」ステートメントと Cn.Execute ステートメントを使用して、ユーザーのアクセス権を設定します。これはすべてモジュールで行われます。

フォーム上で、SELECT、INSERT、および UPDATE 情報を別のスキーマのテーブルに格納するストアド プロシージャを呼び出したいと考えています。次のコードを使用してデータベースへの新しい接続を作成すると、ストアド プロシージャを呼び出して実行できます。

Dim cmd5040 As ADODB.Command Dim conn5040 As ADODB.Connection Dim param5040 As ADODB.Parameter

conn5040 = New ADODB.Connection conn5040 = "Driver={Microsoft ODBC for Oracle};" を設定します。& _ "サーバー=PSPROD; UID=XXXXXXX; PWD=XXXXXXXX" conn5040.Open

cmd5040 を設定 = 新しい ADODB.Command

cmd5040 .ActiveConnection = conn5040 .CommandType = adCmdStoredProc .CommandText = "S4115040_IMPORT_NEWBIDITEMSPES.S4115040_CheckTime" を使用

で終わる

cmd5040(0) = 0 cmd5040(1) = "" cmd5040.CommandTimeout = 300

cmd5040.conn5040.Close を実行

ただし、プログラムの最初の起動時に同じ接続 ('Cn') を使用しようとすると、「-2147217900 [Microsoft][ODCB driver for Oracle]Syntax error or access violation」というエラー メッセージが表示されます。私のコードは次のとおりです。

Dim cmd5040 As ADODB.Command Dim param5040 As ADODB.Parameter

cmd5040 を設定 = 新しい ADODB.Command

cmd5040 で .ActiveConnection = Cn .CommandType = adCmdStoredProc .CommandText = "S4115040_IMPORT_NEWBIDITEMSPES.S4115040_CheckTime"

で終わる

cmd5040(0) = 0 cmd5040(1) = ""

cmd5040.Execute

私はDBAと協力してきました。彼女は私に直接許可と直接実行権限を与えてくれましたが、まだエラー メッセージが表示されます。

私は何を間違っていますか?元の接続を使用してストアド プロシージャを実行できるようにする必要がありますか? または、2 つ目の接続を作成する必要がありますか?

0 投票する
3 に答える
18793 参照

database - データベースドライバーとデータベースダイアレクトの違い

データベース ドライバとデータベース ダイアレクトの違いは何ですか?

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

windows - インストール後にWindowsにデバイスを記憶させて、接続のたびに新しいデバイスメッセージが表示されないようにするにはどうすればよいですか?

USB経由でPCに接続するために作成したハードウェアがあります。そのためのドライバーも作成しました。このデバイスを接続するたびに、ドライバーがインストールされていても、新しいデバイスメッセージが表示されます。ダイアログをキャンセルすることはできますが、正常に動作しますが、それはがらくたのように見えます。この製品を販売し、他のUSB製品と同じように機能させ、このダイアログを1回だけ表示するようにします。

どうすればこれを実現できますか?

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

c - デバイス ドライバーの作成を開始するにはどうすればよいですか?

デバイスドライバの書き方は面白いと思うので習いたいです。私は Mac OS X Macbook を使用していますが、Ubuntu マシン (Mac Min で実行) も持っています。私は C にかなり精通しており、現在この本を読んでいます。Mac Dev Centerなどのリンクをオンラインで見つけました。楽しそうなのでやってます。私が書いたソフトウェアのおかげでハードウェアが動作するのを見るのは本当に楽しいことだと思います。

私が望むのは、いくつかのヒントまたはアドバイスとガイダンスであり、ドライバーを持たないデバイスのリストを知っている人はいますか、または既にサポートされているもの用のドライバーを作成できますか (前者を好むので、実際には価値を提供します)。始めるのに適したデバイスは何ですか? 私は噛むことができる以上に噛んでいますか?私は、低レベルのプログラミングやアセンブリ、または必要な労力を恐れていません。本当にチャレンジしたい!

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

windows-services - ログインしたユーザーごとに同じWindowsサービスが実行されますか?

ログインしているWindowsユーザーに基づいてさまざまなアクションを実行するWindowsサービスを構築しています。1人のユーザーの下にサービスをインストールし、起動するように設定すると、ログインするユーザーごとに個別のインスタンスが実行されます。 、現在複数のユーザーがログインしている場合でも、実行を継続しますか?

これは私が望む行動ですが、それが不可能な場合は、別のことを計画する必要があります。

そして、一般的に、各ユーザーのログインセッションは、独自の独立した環境のようですか?つまり、名前付きパイプを介してサービスと対話するドライバーがインストールされている場合、現在ログインしているユーザーのドライバーから送信されたパイプメッセージは、他のログインユーザーの下で実行されている他のサービスインスタンスによっても受信されます(上で尋ねたように、それらは別々のインスタンスを実行しますか?それとも、独自のドライバー/カーネルインスタンスを使用して環境を完全に分離していますか?