Могу ли я использовать WMI для управления устройствами WSD (в частности, принтерами)?
Я использую 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. Кто-нибудь знает, правда ли это?
1 ответ
Он должен быть в вашем WMI, все принтеры, отображаемые на ваших устройствах и принтерах, перечислены в WMI. Для примера приведу похожую ситуацию, когда у меня есть принтер, использующий имя порта WSD, и мы можем управлять им из кода.