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의 크기는 최대 64KB입니다. 실패 시 GetLastError 가 STATUS_BUFFER_TOO_SMALL 오류 코드를 반환하는 경우 출력 버퍼가 의도한 데이터를 저장할 만큼 크지 않습니다.
출력 버퍼 길이
출력 버퍼는 디바이스의 IEEE 1284 디바이스 ID 길이, 디바이스 ID(최대 64KB 크기) 및 종료 null을 보유하는 2바이트 수량을 포함할 수 있을 만큼 커야 합니다.
IOCTL_USBPRINT_GET_1284_ID 출력 버퍼 길이는 USB 패킷에 직접 배치됩니다. 일부 USB 인쇄 디바이스에서 최대 65535바이트를 사용하면 오류 23과 함께 호출이 실패할 수 있습니다. 버퍼를 4094바이트 이하로 줄여 이 문제를 resolve.
상태 블록
Irp->요청이 성공하면 IoStatus.Status 가 STATUS_SUCCESS 설정됩니다. 그렇지 않으면 NTSTATUS 코드로 적절한 오류 조건에 대한 상태입니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | usbprint.h |
추가 정보
WdfIoTargetSendInternalIoctlOthersSynchronously