次の方法で共有


並列ポート

並列ポート テクノロジの概要。

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

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

I/O 制御コード

タイトル 説明
IOCTL のIOCTL_IEEE1284_GET_MODE IOCTL_IEEE1284_GET_MODE要求は、現在並列デバイスに設定されている IEEE 1284 読み取りおよび書き込みプロトコルを返します。
IOCTL_IEEE1284_NEGOTIATE IOCTL 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_INTERNAL_GET_PARALLEL_PORT_INFO IOCTL IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO要求は、並列ポートに関する情報を返します。
IOCTL のIOCTL_INTERNAL_INIT_1284_3_BUS IOCTL_INTERNAL_INIT_1284_3_BUS要求は、並列ポートに接続されているすべての 1284.3 デイジー チェーン デバイスに IEEE 1284.3 デバイス ID を初期化して割り当てます。
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_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL 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_INTERNAL_PARCLASS_CONNECT IOCTL 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_INTERNAL_UNLOCK_PORT IOCTL 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_PAR_QUERY_DEVICE_ID IOCTL 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 チェーン終了デバイスの状態を返します。
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_PAR_SET_READ_ADDRESS IOCTL 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要求は、並列ポートに接続されているすべての 1284.3 デイジー チェーン デバイスに IEEE 1284.3 デバイス ID を初期化して割り当てます。
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要求:並列ポートの割り当てクライアントが入力PARALLEL_1284_COMMAND構造体の CommandFlags メンバーでPAR_HAVE_PORT_KEEP_PORT フラグを設定していない場合、並列ポート用のシステム提供の関数ドライバーは並列ポートを割り当てます。 それ以外の場合、並列ポート関数ドライバーは並列ポートを割り当てません。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要求では、次の処理が行われます。並列ポート用のシステム提供のバス ドライバーが並列デバイスで使用してはならないプロトコルを指定します。並列デバイスでサポートされているオペレーティング プロトコルを返します。詳細については、「並列デバイスの通信モードの設定とクリア」を参照してください。
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 チェーン終了デバイスの状態を返します。
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構造体は、ドライバーが並列デバイスに対して選択する読み取りおよび書き込みプロトコルを指定します。