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 メンバーは、並列ポートに対する内部デバイス制御要求によって返される一般的な状態値のいずれかに、または次のいずれかの値に設定されます。
STATUS_BUFFER_TOO_SMALL
Parameters.DeviceIoControl.InputBufferLength メンバーの値が、PARALLEL_1284_COMMAND構造体のサイズ (バイト単位) 未満です。
STATUS_INVALID_PARAMETER
指定されたデバイスは内部的にチェーンの終わりデバイスとしてフラグが設定されず、入力構造の ID メンバーの値が、既存のデイジー チェーン デバイスの数より大きくなります。
必要条件
要件 | 価値 |
---|---|
ヘッダー | parallel.h (Parallel.h を含む) |