IOCTL_USBPRINT_GET_1284_ID IOCTL (usbprint.h)
IOCTL_USBPRINT_GET_1284_ID控制程式代碼允許上層軟體 (,例如語言監視器) ,要求並取得印表機的 IEEE 1284 裝置識別符字串。
主要程序代碼
輸入緩衝區
此作業中未使用;將此參數設定為 NULL。
輸入緩衝區長度
此作業中未使用;將此參數設定為 0。
輸出緩衝區
輸出緩衝區將包含UCHAR資料。 成功時,此緩衝區可以保存下列專案:指定裝置 IEEE 1284 裝置識別元大小,以位元組為單位的雙位元組前置詞;裝置標識碼;和 Null 終止符。 IEEE 1284 裝置標識碼的大小最多可達 64 KB。 失敗時,如果 GetLastError 傳回錯誤碼 STATUS_BUFFER_TOO_SMALL,輸出緩衝區就不夠大,無法保存其用途的數據。
輸出緩衝區長度
輸出緩衝區必須夠大,才能包含保留裝置 IEEE 1284 裝置標識符長度的雙位元節數量、裝置標識碼 (大小上限為 64 KB) ,以及終止的 Null。
IOCTL_USBPRINT_GET_1284_ID輸出緩衝區長度會直接放在USB封包中。 在某些USB列印裝置上,使用最多65535個字節可能會導致呼叫失敗,錯誤23。 將緩衝區減少為 4094 個字節或更少,以解決此問題。
狀態區塊
Irp->如果要求成功,IoStatus.Status 會設定為 STATUS_SUCCESS 。 否則, 狀態 為適當的錯誤狀況為 NTSTATUS 程式碼。
規格需求
需求 | 值 |
---|---|
標頭 | usbprint.h |
另請參閱
WdfIoTargetSendInternalIoctlOthersSynchronously