Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usbprint.sys, wraz z USBMON, zapewnia interfejs bardzo podobny do interfejsu używanego przez drukarki równoległe. W wielu przypadkach istnieje możliwość poprawnego działania jednego sterownika drukarki lub monitora językowego zarówno na drukarkach równoległych, jak i USB bez modyfikacji. Jeśli monitor języka używa tylko funkcji WritePort i ReadPort oraz żądania IOCTL_PAR_QUERY_DEVICE_ID, będzie przenośny między drukarkami USB i równoległymi.
W niektórych przypadkach może być konieczne, aby monitor języka wysyłał żądania specyficzne dla dostawcy do drukarki w celu skorzystania z specjalnych funkcji drukarki. W tym celu należy użyć IOCTL_USBPRINT_VENDOR_SET_COMMAND i IOCTL_USBPRINT_VENDOR_GET_COMMAND. Należy jednak pamiętać, że użycie tych IOCTL czyni monitor językowy niezgodnym z monitorem portów równoległych.
Monitory językowe zwykle nie mają dostępu do uchwytu urządzenia dla drukarki, którą zarządzają. Zamiast tego mają nazwę portu podaną przez monitor portu, który znajduje się między monitorem języka a sterownikiem magistrali (Usbprint.sys w tym przypadku). Aby uzyskać więcej informacji, zobacz Interakcja z językiem i monitorem portów . Brak uchwytu urządzenia uniemożliwia monitorom językowym bezpośrednie wywoływanie operacji IOCTL sterownika magistrali urządzenia. Aby wyeliminować to ograniczenie, USBMON implementuje interfejs API GetPrinterDataFromPort, który umożliwia monitorom języka wysyłanie IOCTL przez USBMON do USBPRINT.
Stos drukowania USB udostępnia ze stosem drukowania równoległego następujące interfejsy API i IOCTL:
Następujące listy IOCTL są specyficzne dla stosu drukowania USB:
IOCTL_USBPRINT_VENDOR_GET_COMMAND
IOCTL_USBPRINT_VENDOR_SET_COMMAND
Uwaga
Usbprint.sys nie zapewnia mechanizmu uzyskiwania deskryptorów z urządzenia ani bezpośredniego manipulowania potokami USB.