Могу ли я использовать 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, и мы можем управлять им из кода.

Другие вопросы по тегам