Поделиться через


Функция AddPrintDeviceObject (winsplp.h)

Предупреждение

Начиная с Windows 10, ИНТЕРФЕЙСы API, поддерживающие сторонние поставщики печати, не рекомендуется. Корпорация Майкрософт не рекомендует какие-либо инвестиции в сторонних поставщиков печати. Кроме того, в Windows 8 и более новых продуктах, где доступна модель драйвера печати версии 4, сторонние поставщики печати могут не создавать или управлять очередями, которые используют драйверы печати версии 4.

Функция поставщика печати AddPrintDeviceObject создает объект устройства для очереди поставщика печати.

Синтаксис

HRESULT AddPrintDeviceObject(
  [in]  HANDLE hPrinter,
  [out] HANDLE *phDeviceObject
);

Параметры

[in] hPrinter

ДЕСКРИПтор открытого принтера. Это должен быть ДЕСКРиптор, возвращаемый функциями AddPrinter или OpenPrinter функции spooler.

[out] phDeviceObject

ДеСКРиптор объекта устройства, если он был создан успешно.

Возвращаемое значение

Функция AddPrintDeviceObject возвращает S_OK, если объект устройства был создан успешно. В противном случае возвращается ошибка.

Замечания

Функция AddPrintDeviceObject должна вызываться в следующих ситуациях:

Пользователь устанавливает принтер

  • Поставщик печати должен вызвать эту функцию после установки принтера.

  • Эта функция должна вызываться путем олицетворения пользователя, который устанавливает принтер.

Поставщик печати должен вызвать эту функцию для каждого ранее установленного принтера, принадлежащий поставщику. В это время AddPrintDeviceObject не требует олицетворения контекста пользователя при вызове.

Любой объект устройства, добавленный с помощью AddPrintDeviceObject, будет сохраняться, пока не удалите его с помощью RemovePrintDeviceObjectили до перезапуска службы spooler. При остановке служб spooler все объекты устройства автоматически удаляются.

Требования

Требование Ценность
целевая платформа Настольный
заголовка winsplp.h (include Winspool.h)
библиотеки WinSpool.lib
DLL WinSpool.drv

См. также

RemovePrintDeviceObject