次の方法で共有


並列ポート

並列ポート用のドライバーを開発するには、次のヘッダーが必要です。

  • ntddpar.h する
  • parallel.h する

プログラミング ガイドについては、「並列ポート を参照してください。

I/O 制御コード

タイトル 形容
IOCTL IOCTL_IEEE1284_GET_MODE IOCTL_IEEE1284_GET_MODE要求は、現在並列デバイスに設定されている IEEE 1284 の読み取りおよび書き込みプロトコルを返します。
IOCTL IOCTL_IEEE1284_NEGOTIATE IOCTL_IEEE1284_NEGOTIATE要求は、並列デバイスに使用される読み取りおよび書き込みプロトコルを設定します。
IOCTL IOCTL_INTERNAL_DESELECT_DEVICE IOCTL_INTERNAL_DESELECT_DEVICE要求では、IEEE 1284.3 のダイズチェーン デバイスまたは並列ポートに接続されている IEEE 1284 エンド オブ チェーン デバイスの選択が解除されます。
IOCTL IOCTL_INTERNAL_DISCONNECT_IDLE する IOCTL_INTERNAL_DISCONNECT_IDLE要求は、並列デバイスに設定されている IEEE 1284 動作モードを切断します。
IOCTL IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO する IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO要求は、並列ポートに関する情報を返します。
IOCTL IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO要求は、並列ポートに関するプラグ アンド プレイ情報を返します。
IOCTL IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO要求は、並列ポートに関する情報を返します。
IOCTL IOCTL_INTERNAL_INIT_1284_3_BUS IOCTL_INTERNAL_INIT_1284_3_BUS要求は、IEEE 1284.3 デバイス ID を初期化し、並列ポートに接続されているすべての 1284.3 のデイジー チェーン デバイスに割り当てます。
IOCTL IOCTL_INTERNAL_LOCK_PORT IOCTL_INTERNAL_LOCK_PORT要求は、並列デバイスの親並列ポートを割り当て、ポートで並列デバイスを選択します。
IOCTL IOCTL_INTERNAL_LOCK_PORT_NO_SELECT IOCTL_INTERNAL_LOCK_PORT_NO_SELECT要求は、並列デバイスの親並列ポートを割り当てますが、並列デバイスは選択しません。
IOCTL IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE要求は、並列ポートの動作モードをクリアします。
IOCTL IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT要求は、省略可能な割り込みサービス ルーチンとオプションの遅延ポート チェック ルーチンを並列ポートに接続します。
IOCTL IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT する IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT要求は、IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT要求を使用して接続された割り込みサービス ルーチン (およびオプションの遅延ポート チェック サービス ルーチン) を切断します。
IOCTL IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE する IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE要求は、クライアントによる排他アクセス用の並列ポートを割り当てます。
IOCTL IOCTL_INTERNAL_PARALLEL_PORT_FREE する IOCTL_INTERNAL_PARALLEL_PORT_FREE要求は、並列ポートを解放します。
IOCTL IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE要求は、並列ポートの動作モードを設定します。
IOCTL IOCTL_INTERNAL_PARCLASS_CONNECT IOCTL_INTERNAL_PARCLASS_CONNECT要求は、並列ポートに関する情報と、並列ポート用のシステム提供のバス ドライバーが並列ポートを操作するために提供するコールバック ルーチンに関する情報を返します。
IOCTL IOCTL_INTERNAL_PARCLASS_DISCONNECT IOCTL_INTERNAL_PARCLASS_DISCONNECT要求は、クライアントを並列デバイスから切断します。
IOCTL IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO要求はSTATUS_SUCCESSを返します。
IOCTL IOCTL_INTERNAL_SELECT_DEVICE IOCTL_INTERNAL_SELECT_DEVICE要求
IOCTL IOCTL_INTERNAL_UNLOCK_PORT する IOCTL_INTERNAL_UNLOCK_PORT要求は、並列デバイスの選択を解除し、並列デバイスの親並列ポートを解放します。
IOCTL IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT要求は、並列デバイスの親並列ポートを解放します。
IOCTL IOCTL_PAR_GET_DEFAULT_MODES IOCTL_PAR_GET_DEFAULT_MODES要求は、並列ポート用にシステム提供のバス ドライバーが使用する既定の書き込み (転送) および読み取り (逆) IEEE 1284 プロトコルを返します。
IOCTL IOCTL_PAR_GET_DEVICE_CAPS する IOCTL_PAR_GET_DEVICE_CAPS要求では、次の処理が行われます。
IOCTL IOCTL_PAR_IS_PORT_FREE IOCTL_PAR_IS_PORT_FREE要求は、並列ポート用のシステム提供のバス ドライバーが要求を処理する時点で、並列デバイスの親並列ポートが空きかどうかを判断します。
IOCTL IOCTL_PAR_QUERY_DEVICE_ID する IOCTL_PAR_QUERY_DEVICE_ID要求は、システム提供の関数ドライバーによって並列ポート用に割り当てられた並列デバイスの IEEE 1284 デバイス ID を返します。
IOCTL IOCTL_PAR_QUERY_DEVICE_ID_SIZE IOCTL_PAR_QUERY_DEVICE_ID_SIZE要求は、デバイスの IEEE 1284 デバイス ID と NULL ターミネータを保持できるバッファーのサイズをバイト単位で返します。
IOCTL IOCTL_PAR_QUERY_INFORMATION する IOCTL_PAR_QUERY_INFORMATION要求は、IEEE 1284 End-of-chain デバイスの状態を返します。
IOCTL IOCTL_PAR_QUERY_LOCATION IOCTL_PAR_QUERY_LOCATION要求は、並列デバイスに関連付けられている "LPTn" または "LPTn.m" シンボリック リンク名を返します。
IOCTL IOCTL_PAR_QUERY_RAW_DEVICE_ID する IOCTL_PAR_QUERY_RAW_DEVICE_ID要求は生のデバイス ID を返します。これには次のものが含まれます。
IOCTL IOCTL_PAR_SET_INFORMATION する IOCTL_PAR_SET_INFORMATION要求は、並列デバイスをリセットして初期化します。
IOCTL IOCTL_PAR_SET_READ_ADDRESS IOCTL_PAR_SET_READ_ADDRESS要求は、並列デバイスの拡張機能ポート (ECP) または拡張並列ポート (EPP) 読み取りアドレス (チャネル) を設定します。
IOCTL IOCTL_PAR_SET_WRITE_ADDRESS する IOCTL_PAR_SET_WRITE_ADDRESS要求は、並列デバイスの拡張機能ポート (ECP) または拡張並列ポート (EPP) 書き込みアドレス (チャネル) を設定します。 並列ポート バス ドライバーは、並列デバイスの作業キューでこの要求をキューに入れます。

IOCTL

 
IOCTL_IEEE1284_GET_MODE

IOCTL_IEEE1284_GET_MODE要求は、現在並列デバイスに設定されている IEEE 1284 の読み取りおよび書き込みプロトコルを返します。
IOCTL_IEEE1284_NEGOTIATE

IOCTL_IEEE1284_NEGOTIATE要求は、並列デバイスに使用される読み取りおよび書き込みプロトコルを設定します。
IOCTL_INTERNAL_DESELECT_DEVICE

IOCTL_INTERNAL_DESELECT_DEVICE要求では、IEEE 1284.3 のダイズチェーン デバイスまたは並列ポートに接続されている IEEE 1284 エンド オブ チェーン デバイスの選択が解除されます。
IOCTL_INTERNAL_DISCONNECT_IDLE

IOCTL_INTERNAL_DISCONNECT_IDLE要求は、並列デバイスに設定されている IEEE 1284 動作モードを切断します。
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO

IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO要求は、並列ポートに関する情報を返します。
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO

IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO要求は、並列ポートに関するプラグ アンド プレイ情報を返します。
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO要求は、並列ポートに関する情報を返します。
IOCTL_INTERNAL_INIT_1284_3_BUS

IOCTL_INTERNAL_INIT_1284_3_BUS要求は、IEEE 1284.3 デバイス ID を初期化し、並列ポートに接続されているすべての 1284.3 のデイジー チェーン デバイスに割り当てます。
IOCTL_INTERNAL_LOCK_PORT

IOCTL_INTERNAL_LOCK_PORT要求は、並列デバイスの親並列ポートを割り当て、ポートで並列デバイスを選択します。
IOCTL_INTERNAL_LOCK_PORT_NO_SELECT

IOCTL_INTERNAL_LOCK_PORT_NO_SELECT要求は、並列デバイスの親並列ポートを割り当てますが、並列デバイスは選択しません。
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE

IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE要求は、並列ポートの動作モードをクリアします。
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT

IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT要求は、省略可能な割り込みサービス ルーチンとオプションの遅延ポート チェック ルーチンを並列ポートに接続します。
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT要求は、IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT要求を使用して接続された割り込みサービス ルーチン (およびオプションの遅延ポート チェック サービス ルーチン) を切断します。
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE

IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE要求は、クライアントによる排他アクセス用の並列ポートを割り当てます。
IOCTL_INTERNAL_PARALLEL_PORT_FREE

IOCTL_INTERNAL_PARALLEL_PORT_FREE要求は、並列ポートを解放します。
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE

IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE要求は、並列ポートの動作モードを設定します。
IOCTL_INTERNAL_PARCLASS_CONNECT

IOCTL_INTERNAL_PARCLASS_CONNECT要求は、並列ポートに関する情報と、並列ポート用のシステム提供のバス ドライバーが並列ポートを操作するために提供するコールバック ルーチンに関する情報を返します。
IOCTL_INTERNAL_PARCLASS_DISCONNECT

IOCTL_INTERNAL_PARCLASS_DISCONNECT要求は、クライアントを並列デバイスから切断します。
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO

IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO要求はSTATUS_SUCCESSを返します。
IOCTL_INTERNAL_SELECT_DEVICE

IOCTL_INTERNAL_SELECT_DEVICE request:Allocates the parallel portThe system-supplied function driver for parallel ports allocates the parallel port if the client does not set the PAR_HAVE_PORT_KEEP_PORT flag in the CommandFlags member of the input PARALLEL_1284_COMMAND structure. それ以外の場合、並列ポート関数ドライバーは並列ポートを割り当てません。IEEE 1284.3 のデイジー チェーン並列デバイスまたは並列ポートに接続されているチェーンの終了デバイスを選択します。クライアントは、選択デバイス要求を使用してチェーンの終了デバイスを選択できます。代わりに、IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE要求を使用することをお勧めします。 並列ポート関数ドライバーは、クライアントに並列ポートを割り当てる前に、チェーンの終了デバイスを選択します。
IOCTL_INTERNAL_UNLOCK_PORT

IOCTL_INTERNAL_UNLOCK_PORT要求は、並列デバイスの選択を解除し、並列デバイスの親並列ポートを解放します。
IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT

IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT要求は、並列デバイスの親並列ポートを解放します。
IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_PAR_GET_DEFAULT_MODES要求は、並列ポート用にシステム提供のバス ドライバーが使用する既定の書き込み (転送) および読み取り (逆) IEEE 1284 プロトコルを返します。
IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEVICE_CAPS要求は次の処理を行います。並列ポート用のシステム提供のバス ドライバーが並列 device で使用してはならないプロトコルを指定します。並列デバイスでサポートされるオペレーティング プロトコルを戻します。詳細については、「並列デバイスの通信モードの設定とクリア」を参照してください。
IOCTL_PAR_IS_PORT_FREE

IOCTL_PAR_IS_PORT_FREE要求は、並列ポート用のシステム提供のバス ドライバーが要求を処理する時点で、並列デバイスの親並列ポートが空きかどうかを判断します。
IOCTL_PAR_QUERY_DEVICE_ID

IOCTL_PAR_QUERY_DEVICE_ID要求は、システム提供の関数ドライバーによって並列ポート用に割り当てられた並列デバイスの IEEE 1284 デバイス ID を返します。
IOCTL_PAR_QUERY_DEVICE_ID_SIZE

IOCTL_PAR_QUERY_DEVICE_ID_SIZE要求は、デバイスの IEEE 1284 デバイス ID と NULL ターミネータを保持できるバッファーのサイズをバイト単位で返します。
IOCTL_PAR_QUERY_INFORMATION

IOCTL_PAR_QUERY_INFORMATION要求は、IEEE 1284 End-of-chain デバイスの状態を返します。
IOCTL_PAR_QUERY_LOCATION

IOCTL_PAR_QUERY_LOCATION要求は、並列デバイスに関連付けられている "LPTn" または "LPTn.m" シンボリック リンク名を返します。
IOCTL_PAR_QUERY_RAW_DEVICE_ID

IOCTL_PAR_QUERY_RAW_DEVICE_ID要求は生のデバイス ID を返します。これには、デバイス _aの IEEE 1284 デバイス ID のサイズをバイト単位で指定する次の 2 バイト プレフィックスが含まれます。IEEE 1284 デバイス ID。および NULL ターミネータ。
IOCTL_PAR_SET_INFORMATION

IOCTL_PAR_SET_INFORMATION要求は、並列デバイスをリセットして初期化します。
IOCTL_PAR_SET_READ_ADDRESS

IOCTL_PAR_SET_READ_ADDRESS要求は、並列デバイスの拡張機能ポート (ECP) または拡張並列ポート (EPP) 読み取りアドレス (チャネル) を設定します。
IOCTL_PAR_SET_WRITE_ADDRESS

IOCTL_PAR_SET_WRITE_ADDRESS要求は、並列デバイスの拡張機能ポート (ECP) または拡張並列ポート (EPP) 書き込みアドレス (チャネル) を設定します。 並列ポート バス ドライバーは、並列デバイスの作業キューでこの要求をキューに入れます。

関数

 
PDETERMINE_IEEE_MODES

PDETERMINE_IEEE_MODES型のコールバック ルーチンは、並列デバイスでサポートされる IEEE 1284 プロトコルを決定します。 並列ポート用のシステム提供のバス ドライバーは、このルーチンを提供します。
PNEGOTIATE_IEEE_MODE

PNEGOTIATE_IEEE_MODE型のコールバック ルーチンは、呼び出し元によって指定された中から、並列ポート用のシステム提供のバス ドライバーがサポートする最速の前方および逆プロトコルを選択します。
PPARALLEL_CLEAR_CHIP_MODE

PPARALLEL_CLEAR_CHIP_MODE型コールバック ルーチンは、ホスト チップセットの通信モードを IEEE 1284 互換モードにリセットすることで、並列ポートの動作モードをクリアします。
PPARALLEL_DESELECT_ROUTINE

PPARALLEL_DESELECT_ROUTINE型のコールバック ルーチンは、IEEE 1284.3 のデイジー チェーン デバイスまたは並列ポートに接続されている IEEE 1284 エンド オブ チェーン デバイスの選択を解除します。
PPARALLEL_FREE_ROUTINE

PPARALLEL_FREE_ROUTINE型のコールバック ルーチンは、並列ポートを解放します。 並列ポート用のシステム提供のファンクション ドライバーは、このルーチンを提供します。
PPARALLEL_IEEE_FWD_TO_REV

PPARALLEL_IEEE_FWD_TO_REV型指定コールバック ルーチンは、転送モードを前方から逆に変更します。 並列ポート用のシステム提供のバス ドライバーは、このルーチンを提供します。
PPARALLEL_IEEE_REV_TO_FWD

PPARALLEL_IEEE_REV_TO_FWD型のコールバック ルーチンは、転送モードを逆順に変更します。 並列ポート用のシステム提供のバス ドライバーは、このルーチンを提供します。
PPARALLEL_QUERY_WAITERS_ROUTINE

PPARALLEL_QUERY_WAITERS_ROUTINE型のコールバック ルーチンは、並列ポートの作業キューに登録されているIOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE要求とIOCTL_INTERNAL_SELECT_DEVICE要求の数を返します。
PPARALLEL_READ

PPARALLEL_READ型指定コールバック ルーチンは、並列デバイスからデータを読み取ります。 並列ポート用のシステム提供のバス ドライバーは、このルーチンを提供します。
PPARALLEL_SET_CHIP_MODE

PPARALLEL_SET_CHIP_MODE型のコールバック ルーチンは、並列ポートの動作モードを設定します。 並列ポート用のシステム提供のファンクション ドライバーは、このルーチンを提供します。
PPARALLEL_TRY_ALLOCATE_ROUTINE

PPARALLEL_TRY_ALLOCATE_ROUTINE型 (ISR) コールバック ルーチンは、IRQL = DIRQL で並列ポートの割り当てを試みます。 並列ポート用のシステム提供のファンクション ドライバーは、このルーチンを提供します。
PPARALLEL_TRY_SELECT_ROUTINE

PPARALLEL_TRY_SELECT_ROUTINE型コールバック ルーチンは、並列ポートに接続されている IEEE 1284.3 のデイジー チェーン デバイスまたは IEEE 1284 エンド オブ チェーン デバイスを選択します。 並列ポート用のシステム提供のファンクション ドライバーは、このルーチンを提供します。
PPARALLEL_WRITE

PPARALLEL_WRITE型のコールバック ルーチンは、並列デバイスにデータを書き込みます。 並列ポート用のシステム提供のバス ドライバーは、このルーチンを提供します。
PTERMINATE_IEEE_MODE

PTERMINATE_IEEE_MODE型コールバック ルーチンは、現在の IEEE 動作モードを終了し、モードを IEEE 1284 互換に設定します。 並列ポート用のシステム提供のバス ドライバーは、このルーチンを提供します。

構造

 
MORE_PARALLEL_PORT_INFORMATION

MORE_PARALLEL_PORT_INFORMATION構造体は、並列ポートの操作をサポートするシステム インターフェイスに関する情報を指定します。
PAR_DEVICE_ID_SIZE_INFORMATION

PAR_DEVICE_ID_SIZE_INFORMATION構造体は、並列デバイスの IEEE 1284 デバイス ID と NULL ターミネータを保持できるバッファーのサイズをバイト単位で指定します。
PAR_QUERY_INFORMATION

PAR_QUERY_INFORMATION構造体は、並列ポートの動作状態を指定します。
PAR_SET_INFORMATION

PAR_SET_INFORMATION構造体は、並列ポートの初期動作状態を指定します。
PARALLEL_1284_COMMAND

PARALLEL_1284_COMMAND構造体は、クライアントが IEEE 1284.3 のダイズチェーン デバイスまたは IEEE 1284 エンド オブ チェーン デバイスの選択と選択解除に使用する情報を指定します。
PARALLEL_CHIP_MODE

PARALLEL_CHIP_MODE構造体は、並列ポートの動作モードを指定します。
PARALLEL_INTERRUPT_INFORMATION

PARALLEL_INTERRUPT_INFORMATION構造体は、ドライバーが並列ポートに接続する ISR のコンテキストでカーネル モード ドライバーが使用できる情報を指定します。
PARALLEL_INTERRUPT_SERVICE_ROUTINE

PARALLEL_INTERRUPT_SERVICE_ROUTINE構造体は、カーネル モード ドライバーが並列ポートの操作に接続できる割り込みサービスを指定します。
PARALLEL_PNP_INFORMATION

PARALLEL_PNP_INFORMATION構造体は、並列ポートの機能に関する情報を指定します。
PARALLEL_PORT_INFORMATION

PARALLEL_PORT_INFORMATION構造体は、並列ポートに割り当てられているリソース、並列ポートの機能、およびカーネル モード ドライバーが並列ポートの操作に使用できるコールバック ルーチンへのポインターに関する情報を指定します。
PARCLASS_INFORMATION

PARCLASS_INFORMATION構造体は、並列ポートに関する情報、並列ポートを操作するコールバック ルーチンへのポインター、および並列デバイスの読み取りと書き込みを行うコールバック ルーチンへのポインターを指定します。
PARCLASS_NEGOTIATION_MASK

PARCLASS_NEGOTIATION_MASK構造体は、ドライバーが並列デバイス用に選択する読み取りと書き込みのプロトコルを指定します。