IOCTL_USBPRINT_GET_1284_ID 制御コードを使用すると、上位層ソフトウェア (言語モニターなど) がプリンターの IEEE 1284 デバイス ID 文字列を要求して取得できます。
メジャー コード
入力バッファー
この操作では使用されません。このパラメーターを NULL 設定します。
入力バッファーの長さ
この操作では使用されません。このパラメーターを 0 に設定します。
出力バッファー
出力バッファーには UCHAR データが含まれます。 成功すると、このバッファーは、デバイスの IEEE 1284 デバイス ID のサイズをバイト単位で指定する 2 バイトのプレフィックスを保持できます。デバイス ID。および null ターミネータ。 IEEE 1284 デバイス ID のサイズは最大 64 KB です。 エラーが発生した場合、GetLastError がエラー コード STATUS_BUFFER_TOO_SMALLを返した場合、出力バッファーは目的のデータを保持するのに十分な大きさではありません。
出力バッファーの長さ
出力バッファーは、デバイスの IEEE 1284 デバイス ID の長さ、デバイス ID (最大 64 KB のサイズ)、終端の null を保持する 2 バイトの量を格納するのに十分な大きさである必要があります。
IOCTL_USBPRINT_GET_1284_ID出力バッファーの長さは、USB パケットに直接配置されます。 一部の USB プリント デバイスでは、最大 65535 バイトを使用すると、エラー 23 で呼び出しが失敗する可能性があります。 この問題を解決するには、バッファーを 4094 バイト以下に減らします。
状態ブロック
Irp->IoStatus.Status は、要求が成功した場合に STATUS_SUCCESS に設定されます。 それ以外の場合は、状態 NTSTATUS コードとして適切なエラー状態に します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | usbprint.h |
関連項目
ドライバー での IOCTL 要求の作成の
WdfIoTargetSendInternalIoctlOthersSynchronously を する
WdfIoTargetSendInternalIoctlSynchronously
WdfIoTargetSendIoctlSynchronously を する