次の方法で共有


IOCTL_INTERNAL_SELECT_DEVICE IOCTL (parallel.h)

IOCTL_INTERNAL_SELECT_DEVICE要求:

  • 並列ポートを割り当てます

    クライアントが入力PARALLEL_1284_COMMAND構造体の CommandFlags メンバーにPAR_HAVE_PORT_KEEP_PORT フラグを設定していない場合、並列ポート用のシステム提供の関数ドライバーは並列ポートを割り当てます。 それ以外の場合、並列ポート関数ドライバーは並列ポートを割り当てません。

  • IEEE 1284.3 デイジー チェーン並列デバイスまたは並列ポートに接続されたチェーンの終了デバイスを選択します

    クライアントは選択デバイス要求を使用してチェーンの終了デバイスを選択できますが、代わりに IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE 要求を使用することをお勧めします。 並列ポート関数ドライバーは、クライアントに並列ポートを割り当てる前に、チェーンの終了デバイスを選択します。

詳細については、「 ParallelPort に接続されている IEEE 1284 デバイスの選択と選択解除」を参照してください。

メジャー コード

IRP_MJ_INTERNAL_DEVICE_CONTROL

[入力バッファー]

AssociatedIrp.SystemBuffer は、選択したデバイス情報を入力するためにクライアントが割り当てるPARALLEL_1284_COMMAND構造体を指します。

入力バッファーの長さ

Parameters.DeviceIoControl.InputBufferLength メンバーは、PARALLEL_1284_COMMAND構造体のサイズをバイト単位で指定します。

出力バッファー

[なし] :

出力バッファーの長さ

[なし] :

ステータス ブロック

Information メンバーは 0 に設定されます。

Status メンバーは、並列ポートに対する内部デバイス制御要求によって返される汎用状態値の 1 つ、または次のいずれかの値に設定されます。

STATUS_BUFFER_TOO_SMALL

Parameters.DeviceIoControl.InputBufferLength メンバーの値が、PARALLEL_1284_COMMAND構造体のサイズ (バイト単位) 未満です。

STATUS_INVALID_PARAMETER

指定されたデバイスは内部的にチェーン終了デバイスとしてフラグが設定されず、入力構造の ID メンバーの値が既存のデイジー チェーン デバイスの数を超えています。

要件

要件
Header parallel.h (Parallel.h を含む)

こちらもご覧ください

PARALLEL_1284_COMMAND

IOCTL_INTERNAL_DESELECT_DEVICE