2009-05-23 9 views
1

私は、プリンタポ​​ートモニタの作成方法に関する基本的なサンプル、チュートリアル、またはブログ記事を探しています。私はWindows DDKをダウンロードしてlocalmonで掘り下げましたが、このサンプルはナットとボルトの基本よりはるかに複雑で、レジストリキーをどのように処理するのかとOEMポートモニタとはちょっと違いますポート列挙。誰かがブログの投稿、チュートリアル、または基本的なコードを読者に伝える本を知っていますか?私は、概念的なことについて話すいくつかのリンクを見つけましたが、コードには何も触れていません。Windowsポートモニタの基礎を書く

+0

あなたの想定する「ポート」モニタは何をしますか? –

+1

それは基本的にファイルにデータをラップし、それを操作しますが、どのようにその結果が問題になるかはわかりません。私の知る限りだと、単純な出力が十分でデバッグ書いた例を懸念。私は達成しようとしていることの詳細を掘り下げたくありませんでした。なぜなら、それは人々にレドモンのようなものを提案する傾向があるからです。私が本当に欲しいのは、ポートモニタの基本的なHello Worldです。 –

+1

Redmonや他の既存のライブラリなどを使用せずにこれをすべて完了させるプロセスに関する情報を見つけましたか? –

答えて

1

私はシリアルプリンタではまったく同じ領域でした。私が見つけた最良の例についてはthis article in Dr Dobbs Journalでした。良い部分は、シリアルポートドライバとユーザースペースコントロールプログラムの両方がカバーされていることです。このプロジェクトは、Visual Studioをセットアップしてドライバをコンパイルする方法の例としても使用できます。これはまた、情報を見つけるのが少し難しいものです。この記事では、古いNTスタイルのドライバについて説明します。これはXPでうまく動作しました。

CodeProjectには、ドライバーとそのプログラムとの対話についての記事が掲載されています。それらにはソースコードが含まれており、最新のWDMとWDFスタイルのドライバのほとんどが扱われています。

OSROnlineは、特に特定の問題やよくある間違いの議論のための別の良い情報源です。彼らにはあなたが必要とする素晴らしいユーティリティもあります。

私が出会った最も明確に書かれ、理解できるドライバコードのいくつかはMark Russinovichのサンプルコードでした。 MicrosoftはSysinternalsを購入したときにすべてのソースを撤回しましたが、最良の例のいくつかはこことそこにキャッシュされていることがあります。

ドライバはかなり面白いです。あなたが何をするにしても、仮想マシンでやります。本当に。

4

私はspecsから鉱山を書きましたが、実装するAPIはそれほど多くありません。

regularalyが人を動かすことの1つはEnumPortsです。スプーラはあなたのものだけでなく、すべてのポートに十分なメモリを割り当てます。したがって、スプーラバッファの最後から文字列を埋めるようにする必要があります。構造体の直後に置かないでください。

これは仕様には含まれていませんが、安全にUIとサーバー機能を同じDLLに配置することはできます。

NTとそれ以降のWindows 2000タイプのポートモニタをサポートする単一のポートモニタを作成することもできます。

RedMonのコードは、localmonの例よりもはるかに読みやすく、開始する前に調べる価値があります。 VSでコンパイルできるので、DDKを使用する必要はありません。

3

http://www.codeproject.com/KB/printing/wpa.aspxは、プリンタドライバの作成方法を説明していますが、ポートモニタを構築するために必要なことについてのヒントもあります。

しかし私の意見では、この分野の良いチュートリアルはインターネット上で利用できないということです(私が間違っていることを私に見せてくれる誰かを見つけるのはうれしいでしょう)。だから私はこの作業に対処する必要がありましたが、私はそれを難し​​い方法でやることを余儀なくされました。この点から慎重にMSDNの説明を読みました:http://msdn.microsoft.com/en-us/library/ff561109.aspx。 MSDNを読むのと並行して、あなたが言及したDDKのコードもチェックし、それを理解しようとしました。私はこの解決策もあなたのために働くことができると確信しています。