![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кто-нибудь знает, как удалить подключение к IPP принтеру?
AlexEgorov © (2007-09-19 12:49:00)Есть принтер \\ http://ps\GSPPHP LaserJet 1100 (это принтер на сервере http://ps)
Не могу его удалить DeletePrinterConnection не проходит, а GetLastError говорит, что операция прошла нормально. А из проводника получается удалить
AlexEgorov (2007-09-21 12:52:00) [1]Единственное решение, которое на данный момент нашёл - это удалять его в реестре и потом спулер перезапускать, но это не очень красиво, особенно для серверов печати предприятия, а вот проводник как-то с этим справляется :(
AlexEgorov (2007-09-19 13:48:00) [2]Но и как локальный (DeletePrinter) он не удаляется :(
AlexEgorov (2007-09-19 13:38:00) [3]Вот нашёл такую статейку: http://support.microsoft.com/kb/314486
Но в ней только про добавление IPP принтеров, хотя и полезная информация, получается, что IPP принтер это Имитирующий принтер, т.е. это и локальный, и сетевой принтер одновременно
Пример добавления принтера, поддерживающего протокол IPP
rundll32 printui.dll,PrintUIEntry /b "выводимое_имя_принтера_в_http" /x /n "часть_ключа_n" /if /f %windir%\inf\ntprint.inf /r " http://имя_узла/printers/имя_общего_ресурса/.printer" /m "HP Laserjet 4000 Series PCL"
Примечание. Сведения о ключе /x не отображаются по ключу /?. Наличие ключа /x предполагает наличие ключа /n, даже если он не используется. Принтер HP Laserjet 4000 Series PCL приведен для примера, возможно использование другого принтера. Ключ /x предполагает установку программы указания и печати через Web. Этот ключ указывает на то, что это имитирующий принтер. Имитирующий принтер — это и локальный, и сетевой принтер одновременно. Такой принтер получает от удаленного сервера печати подробные уведомления. Без ключа /x принтер будет локальным принтером с перенаправленным портом. Он будет работать правильно, но будет получать сокращенные уведомления. В данной статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких явных или подразумеваемых гарантий правильной работы или надежности таких продуктов.
Сергей М. (2007-09-19 13:11:00) [4]Хм ...
Может по этому поводу есть какие-то комментарии в msdn ?
Полистай ..
AlexEgorov (2007-09-19 12:59:00) [5]Этот же код отлично работает для обычных подключенных принтеров типа \\ps\\GSPP HP LaserJet 1100
AlexEgorov (2007-09-19 12:57:00) [6]if not DeletePrinterConnectionW(PWideChar(PrnName)) then
MessageBoxW(Handle, PWideChar(WideSysErrorMessage(GetLastError)), PWideChar(tabQueue.Caption), MB_OK or MB_ICONERROR);
MessageBox выводит, что "Операция успешно завершена"
Сергей М. (2007-09-19 12:52:00) [7]
> DeletePrinterConnection не проходит, а GetLastError говорит,
> что операция прошла нормально
Как это так ?!
Покажи код, иллюстрирующий это утверждение ..