本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[VB2] ポートの制御やプリンタに制御コードを送ることができない理由

文書番号: 402575

最終更新日: 1999/03/21


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402575

概要

この資料は Visual Basic for Windows 2.0 からポートの制御やプリンタに制御
コードを送ることができない理由について記述したものです。

詳細

Microsoft(R) Windows(R) で動作しているアプリケーションからプリンタや拡張
ボードといった周辺機器を制御する場合、必ず Windows 用デバイス ドライバを
経由しておこなわなければなりません。
MS-DOS(R) で動作するアプリケーションでは許されていた、I/O ポートに対して
直接的な入出力を行う方法やプリンタに対する制御コードの出力は以下の理由に
より Windows では許されません。
  • Windows は " デバイスに依存しないノン プリエンティブなマルチタスクの GUI 環境" であり、協調型擬似マルチタスク オペレーティング システムです。特定 の周辺機器に対して、複数のアプリケーションがアクセスする可能性があるた め、プロセス間の排他制御を必要とします。このため、各アプリケーションから の I/O ポートに対しての直接的な入出力は許されません。必ず、個々のデバイ スに対してマルチタスクを考慮した Windows 用デバイス ドライバ経由で制御 する必要があります。
  • Windows はその上で動作するアプリケーションが、パソコン本体のハードウェ ア アーキテクチャに依存しないように設計されたオペレーティング システム です。このためハードウェアの構造に依存する I/O ポート等にアクセスする アプリケーションを作成することは許されません。
  • Windows はその上で動作するアプリケーションが、パソコン本体に接続されて いる周辺機器に依存しないように設計されたオペレーティング システムで す。このためアプリケーションはプリンタ固有の制御コードをプリンタに対 して直接送ることはできません。個々のアプリケーションから Windows の プリンタ ドライバへの出力は GDI コマンドでおこなわれます。Windows の プリンタ ドライバはプリンタに依存しない GDI コマンドを、プリンタ固有 の制御コードへ変換した後にプリンタへの出力をおこないます。
Windows では共有資源である各周辺機器等を制御する場合には Windows 用デバイス ドライバが必要になります。一般的に Windows 用デバイス ドライバは周辺機器の
開発元が提供しています。もし、周辺機器の開発元が Windows 用デバイス ドライ
バを供給していない場合は、周辺機器の仕様書等に従って Windows 用デバイス
ドライバを設計、作成しなければなりません。

Windows 用デバイス ドライバを作成するために必要な製品

  • Windows 用デバイス ドライバが開発可能な言語製品 (C 言語、アセンブラなど)
  • Microsoft(R) Windows(R) Software Development Kit (以下 Windows SDK)
  • Microsoft(R) Windows(R) Device driver Development Kit (以下 Windows DDK)
Windows DDK はデバイス ドライバの動作メカニズム等を記述したドキュメントの 他に、ドライバのサンプル ソースやディスプレイおよびプリンタの互換性テスト
ルーチンが提供されます。Windows DDK 日本語版は Windows DDK 英語版そのもの
に日本語固有の内容に関する記述を付加したもので、日本語に依存しない内容に
関する情報はすべて英文のままです。
なお、Windows DDK は日本国内の場合、Microsoft(R) Developer Network (以下
MSDN) Level 2 で Development Platform の一部として提供しています。なお、
MSDN の加入に関しては マイクロソフト デベロッパー ネットワーク事務局
(Tel. 048 - 226 - 5700) までお問い合わせください。

Windows 用デバイス ドライバを作成するために最低限必要な基礎知識

  • Windows SDK で説明されている Windows の動作等の技術的な内容を十分に 理解していること。
  • Intel(R) 製マイクロプロセッサ i386(TM) 又は i486(TM) 等において 32 bit プロテクト モードで動作するプログラムを作成できる技術を有していること。
  • Windows DDK で説明されている Windows 用の仮想デバイス ドライバの動作等の 技術的な内容を十分に理解していること。
  • 作成するデバイス ドライバによって制御するハードウェアについての技術的な 内容を十分に理解していること。

Keywords: KBPRB KB402575
Technology: kbAudDeveloper kbVBSearch

inserted by FC2 system