Могу ли я использовать WMI для управления устройствами WSD (в частности, принтерами)? - PullRequest
3 голосов
/ 01 февраля 2012

Я использую WMI с C # для перечисления и изменения принтеров на моем компьютере.

У меня работает Windows 7, и все работает нормально, когда я пытаюсь изменить принтеры, которые установлены "классически". Под «классическим» я подразумеваю, что принтер просто использует базовый порт TCP / IP. Я могу переименовать его, установить его в качестве принтера по умолчанию и т. Д., Используя документированные функции WMI: http://msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=vs.85).aspx.

Однако по умолчанию Windows устанавливает мой принтер как принтер WSD (веб-сервисы на устройствах). Когда это происходит, принтер использует порт WSD, к которому я не могу прикоснуться при использовании WMI.

На приведенном ниже снимке экрана видно, что мой принтер использует «порт WSD». Ниже этого порта находится стандартный порт TCP / IP, который используется моим принтером при установке без WSD.

Screenshot

Программное обеспечение, поставляемое с моим принтером, устанавливает принтер с использованием стандартного порта TCP / IP. Однако, когда я вручную устанавливаю свой принтер, Windows выбирает порт WSD.

WMI, похоже, не имеет определения для устройств с поддержкой WSD. Кто-нибудь знает, правда ли это?

1 Ответ

1 голос
/ 10 февраля 2012

Он должен быть в вашем WMI, все принтеры, отображаемые на ваших устройствах и принтерах, перечислены в WMI.Например, у меня есть похожая ситуация, когда у меня есть принтер, использующий имя порта WSD, и мы можем управлять им из кода.

enter image description here

...