IOCTL_USBPRINT_GET_1284_ID IOCTL (usbprint.h)
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 コードとして適切なエラー条件の状態。
要件
要件 | 値 |
---|---|
Header | usbprint.h |
こちらもご覧ください
WdfIoTargetSendInternalIoctlOthersSynchronously