Я использую 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.
Программное обеспечение, поставляемое с моим принтером, устанавливает принтер с использованием стандартного порта TCP / IP. Однако, когда я вручную устанавливаю свой принтер, Windows выбирает порт WSD.
WMI, похоже, не имеет определения для устройств с поддержкой WSD. Кто-нибудь знает, правда ли это?