IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)
IOCTL_IEEE1284_NEGOTIATE要求は、並列デバイスに使用される読み取りプロトコルと書き込みプロトコルを設定します。 この要求では、並列デバイスが接続されている並列ポートをロックし、並列デバイスを選択する必要があります。 並列ポート用のシステム提供のバス ドライバーは、並列デバイスとネゴシエートして、クライアントで指定されているモードの中から、ホスト チップセットと並列デバイスの両方でサポートされる最速のモードを決定します。 並列ポート バス ドライバーは、ネゴシエートされたモードに既定の読み取りモードと書き込みモードを設定します。
詳細については、「 並列デバイスの通信モードの設定とクリア」を参照してください。
メジャー コード
[入力バッファー]
AssociatedIrp.SystemBuffer メンバーは、クライアントがモード情報の入力と出力に割り当てるPARCLASS_NEGOTIATION_MASK構造体を指します。 クライアントは 、usReadMask メンバーと usWriteMask メンバーを 設定します。
入力バッファーの長さ
Parameters.DeviceIoControl.InputBufferLength メンバーは、PARCLASS_NEGOTIATION_MASK構造体のサイズ (バイト単位) に設定されます。
出力バッファー
AssociatedIrp.SystemBuffer は、並列ポート用のシステム提供のバス ドライバーがモード情報の出力に使用するPARCLASS_NEGOTIATION_MASK構造体を指します。 並列ポート バス ドライバーは、 usReadMask メンバーと usWriteMask メンバーをネゴシエートされたモードに設定します。
出力バッファーの長さ
PARCLASS_NEGOTIATION_MASK構造体の長さ。
ステータス ブロック
要求が成功した場合、 Information メンバーは、PARCLASS_NEGOTIATION_MASK構造体のサイズ (バイト単位) に設定されます。 それ以外の場合、 Information メンバーは 0 に設定されます。
Status メンバーは、並列デバイスに対するデバイス制御要求によって返される汎用状態値の 1 つ、または次の値に設定されます。
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength メンバーの値が、PARCLASS_NEGOTIATION_MASKのサイズ (バイト単位) 未満です。
要件
要件 | 値 |
---|---|
Header | ntddpar.h (Ntddpar.h を含む) |