Метод IPrintOemUI::P ublishDriverInterface (prcomoem.h)
Метод IPrintOemUI::PublishDriverInterface
позволяет подключаемого модуля пользовательского интерфейса получить интерфейс IPrintOemDriverUI, IPrintCoreUI2, IPrintCoreHelperPS или IPrintCoreHelperPS драйвера Pscript5.
Синтаксис
HRESULT PublishDriverInterface(
IUnknown *pIUnknown
);
Параметры
pIUnknown
Предоставленный вызывающим элементом указатель на интерфейс IUnknownCOM-интерфейса IPrintCoreUI2, com-интерфейса IPrintOemDriverUI, интерфейса IPrintCoreHelperPS или интерфейса IPrintCoreHelperUni. См. заметки.
Возвращаемое значение
Метод должен возвращать одно из следующих значений.
Код возврата | Описание |
---|---|
|
Операция успешно выполнена. |
|
Операция не удалась. |
Комментарии
Драйвер Pscript5 поддерживает интерфейсы IPrintCoreUI2, IPrintOemDriverUI и IPrintCoreHelperPS . Unidrv поддерживает интерфейсы IPrintOemDriverUI и IPrintCoreHelperUni . Подключаемые модули пользовательского интерфейса для обоих типов драйверов должны реализовывать IPrintOemUI::PublishDriverInterface
метод .
Метод должен возвращать сведения о поддерживаемых интерфейсах Pscript5 следующим образом:
-
Драйвер Pscript5 сначала вызывает
IPrintOemUI::PublishDriverInterface
метод с указателем pIUnknown, заданным для интерфейса IUnknown экземпляра IPrintCoreUI2. Если подключаемый модуль пользовательского интерфейса может использовать интерфейс IPrintCoreUI2 , метод должен возвращать S_OK. В противном случае подключаемый модуль должен вернуть E_FAIL. -
Если подключаемый модуль вернул E_FAIL, драйвер Pscript5 снова вызывает
IPrintOemUI::PublishDriverInterface
метод, но с указателем pIUnknown, заданным на интерфейс IUnknown экземпляра IPrintOemDriverUI. Если подключаемый модуль может использовать интерфейс IPrintOemDriverUI , метод должен возвращать S_OK. В противном случае подключаемый модуль должен вернуть E_FAIL. -
Если метод IPrintOemUI::GetInfo подключаемого модуля вернул значение OEMPUBLISH_IPRINTCOREHELPER в pBuffer в ответ на вызов с параметром dwMode , равным OEMGI_GETREQUESTEDHELPERINTERFACES, драйвер Pscript5 снова вызывает
IPrintOemUI::PublishDriverInterface
метод, но с указателем pIUnknown , заданным на объект, реализующий интерфейсы IPrintCoreHelperPS и IPrintCoreHelper . Если подключаемый модуль может использовать интерфейс IPrintCoreHelperPS или IPrintCoreHelper , метод должен возвращать S_OK. В противном случае метод должен вернуть E_FAIL.
-
Драйвер Unidrv сначала вызывает
IPrintOemUI::PublishDriverInterface
метод с указателем pIUnknown, заданным для интерфейса IUnknown экземпляра IUnknown экземпляра IPrintOemDriverUI. Если подключаемый модуль может использовать интерфейс IPrintOemDriverUI , метод должен возвращать S_OK. В противном случае подключаемый модуль должен вернуть E_FAIL. -
Если метод IPrintOemUI::GetInfo подключаемого модуля вернул значение OEMPUBLISH_IPRINTCOREHELPER в pBuffer в ответ на вызов с параметром dwMode , равным OEMGI_GETREQUESTEDHELPERINTERFACES, драйвер Unidrv снова вызывает
IPrintOemUI::PublishDriverInterface
метод, но с указателем pIUnknown , заданным на объект, реализующий интерфейсы IPrintCoreHelperUni и IPrintCoreHelper . Если подключаемый модуль использует интерфейс IPrintCoreHelperUni или IPrintCoreHelper , метод должен возвращать S_OK. В противном случае метод должен вернуть E_FAIL.
IPrintOemUI::PublishDriverInterface
подключаемый модуль не будет принимать дальнейшие вызовы. Если подключаемый модуль пользовательского интерфейса будет вызывать методы интерфейса IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS или IPrintCoreHelperUni, он должен использовать полученный указатель интерфейса IUnknown для вызова IUnknown::QueryInterface (описанного в документации по Microsoft Windows SDK), чтобы получить указатель на поддерживаемую драйвером версию IPrintCoreUI2. Интерфейс IPrintOemDriverUI, IPrintCoreHelperPS или IPrintCoreHelperUni. Дополнительные сведения см. в разделе Идентификаторы интерфейса для драйверов принтеров.
Во время обработки каждой функции DDI подключаемые модули пользовательского интерфейса не должны сочетать использование методов интерфейсов до Windows Vista (например, IPrintOemDriverUI или IPrintCoreUI2 ) и новых методов интерфейсов Windows Vista (например, IPrintCoreHelperUni или IPrintCoreHelperPS) для чтения или записи параметров драйвера. Например, во время метода IPrintOemUI::D ocumentPropertySheets подключаемый модуль пользовательского интерфейса не должен использовать метод IPrintOemDriverUI::D rvUpdateUISetting для записи параметров и использовать метод IPrintCoreHelper::GetOption для чтения параметров. Например, во время метода IPrintOemUI::P rinterEvent подключаемый модуль пользовательского интерфейса не должен использовать метод IPrintCoreUI2::GetOptions для чтения параметров и метод IPrintCoreHelper::SetOptions для записи параметров. Синхронизация чтения и записи параметров не поддерживается между этими различными версиями интерфейсов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | prcomoem.h (включая Prcomoem.h) |