Метод IPrintOemPS::Command (prcomoem.h)
Метод IPrintOemPS::Command используется для отрисовки подключаемых модулей для драйвера принтера Microsoft PostScript, чтобы вставить команды PostScript в поток данных задания печати.
Синтаксис
HRESULT Command(
PDEVOBJ pdevobj,
DWORD dwIndex,
PVOID pData,
DWORD cbSize,
[out] OUT DWORD *pdwResult
);
Параметры
pdevobj
Предоставленный вызывающим объектом указатель на структуру DEVOBJ .
dwIndex
Предоставленное вызывающим объектом значение, представляющее текущую точку внедрения в потоке данных задания печати. Дополнительные сведения см. в разделе "Примечания".
pData
Не используется.
cbSize
Не используется.
[out] pdwResult
Получает предоставленное методом значение, указывающее результат операции вставки. Если вставка выполнена успешно, это значение должно быть ERROR_SUCCESS. Если вставка завершается ошибкой, значение должно быть одним из кодов ошибок, определенных в файле winerror.h. Если метод не пытается вставить данные для указанного значения dwIndex , значение должно быть ERROR_NOT_SUPPORTED.
Возвращаемое значение
Метод должен возвращать одно из следующих значений.
Код возврата | Описание |
---|---|
|
Операция успешно выполнена. |
|
Сбой операции |
|
Метод не реализован. |
Комментарии
Метод IPrintOemPS::Command используется для вставки команд PostScript в поток данных, созданный драйвером принтера Microsoft PostScript. Если вы хотите предоставить этот метод, необходимо определить его в подключаемом модуле отрисовки.
При вызове метода IPrintOemPS::Command его параметр dwIndex указывает текущую точку внедрения в потоке данных задания печати. Метод должен использовать это значение, чтобы определить, какую операцию (при наличии) следует выполнить. Значения индекса, определенные в wingdi.h, перечислены в следующей таблице.
Значение индекса | При получении |
---|---|
PSINJECT_BEGINDEFAULTS | После того, как драйвер принтера отправит %%BeginDefaults в поток данных. |
PSINJECT_BEGINPAGESETUP | После того, как драйвер принтера отправляет %%BeginPageSetup в поток данных. |
PSINJECT_BEGINPROLOG | После того, как драйвер принтера отправит %%BeginProlog в поток данных. |
PSINJECT_BEGINSETUP | После того, как драйвер принтера отправит %%BeginSetup в поток данных. |
PSINJECT_BEGINSTREAM | Перед тем, как драйвер принтера отправит первый байт потока данных. |
PSINJECT_BOUNDINGBOX | Когда драйвер принтера будет готов к вставке %%BoundingBox: в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%BoundingBox: . |
PSINJECT_COMMENTS | Перед тем, как драйвер принтера отправит %%EndComments в поток данных. |
PSINJECT_DLFONT | Перед тем, как драйвер печати скачивает мягкий шрифт. |
PSINJECT_DOCNEEDEDRES |
После того как драйвер принтера отправляет %%DocumentNeededResources: в поток данных вместе со сведениями о ресурсе. Если метод IPrintOemPS::Command отправляет сведения о ресурсе, он добавляется в поток после сведений о ресурсе драйвера. Формат записи выглядит следующим образом: %%+ResourceTypeResourceNames Драйвер принтера отправляет %%DocumentNeededResources: после отправки раздела %%Trailer . |
PSINJECT_DOCSUPPLIEDRES |
После того, как драйвер принтера отправляет %%DocumentSuppliedResources: в поток данных вместе со сведениями о ресурсе. Если метод IPrintOemPS::Command отправляет сведения о ресурсе, он добавляется в поток после сведений о ресурсе драйвера. Формат записи выглядит следующим образом: %%+ResourceTypeResourceNames Драйвер принтера отправляет %%DocumentSuppliedResources: после отправки раздела %%Trailer . |
PSINJECT_DOCUMENTPROCESSCOLORS | |
Когда драйвер принтера будет готов к вставке %%DocumentProcessColors:color в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%DocumentProcessColors:color . | |
PSINJECT_DOCUMENTPROCESSCOLORSATEND | |
Когда драйвер принтера будет готов к вставке %%DocumentProcessColors:(atend) в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%DocumentProcessColors:(atend). | |
PSINJECT_ENDDEFAULTS | Прежде чем драйвер принтера отправит %%EndDefaults в поток данных. |
PSINJECT_ENDPAGECOMMENTS | Перед тем, как драйвер принтера отправит %%EndPageComments в поток данных. |
PSINJECT_ENDPAGESETUP | Перед тем, как драйвер принтера отправит %%EndPageSetup в поток данных. |
PSINJECT_ENDPROLOG | Перед тем, как драйвер принтера отправит %%EndProlog в поток данных. |
PSINJECT_ENDSETUP | Перед тем, как драйвер принтера отправит %%EndSetup в поток данных. |
PSINJECT_ENDSTREAM | После того, как драйвер принтера отправляет последний байт потока данных. |
PSINJECT_EOF | После того, как драйвер принтера отправит %%EOF в поток данных. |
PSINJECT_ORIENTATION | Когда драйвер принтера будет готов к вставке %%Orientation: в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%Orientation: . |
PSINJECT_PAGEBBOX | Когда драйвер принтера будет готов к вставке %%PageBoundingBox: в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%PageBoundingBox: . |
PSINJECT_PAGENUMBER | Когда драйвер принтера будет готов к вставке %%Page: в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%Page: . |
PSINJECT_PAGEORDER | Когда драйвер принтера будет готов к вставке %%PageOrder: в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%PageOrder: . |
PSINJECT_PAGES | Когда драйвер принтера будет готов к вставке %%Pages:nnn в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%Pages:nnn . |
PSINJECT_PAGESATEND | Когда драйвер принтера будет готов к вставке %%Pages:(atend) в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%Pages:(atend). |
PSINJECT_PAGETRAILER | После того, как драйвер принтера отправляет %%PageTrailer в поток данных. |
PSINJECT_PLATECOLOR | Когда драйвер принтера будет готов к вставке %%PlateColor:color в поток данных. Данные, предоставляемые IPrintOemPS::Command , заменяют комментарий драйвера %%PlateColor:color . |
PSINJECT_PSADOBE | Перед отправкой драйвера принтера %! PS-Adobe в поток данных. |
PSINJECT_SHOWPAGE | Перед отправкой драйвером принтера команды showpage . |
PSINJECT_TRAILER | После того, как драйвер принтера отправляет %%Trailer в поток данных. |
PSINJECT_VMRESTORE | После того, как драйвер принтера отправляет команду восстановления . (Метод IPrintOemPS::Command должен повторно отправлять все ресурсы, отправленные после последнего PSINJECT_VMSAVE, если ресурсы будут использоваться повторно.) |
PSINJECT_VMSAVE | Перед отправкой драйвером принтера команды сохранения . (См. PSINJECT_VMRESTORE.) |
Метод IPrintOemPS::Command должен вызывать IPrintOemDriverPS::D rvWriteSpoolBuf для вставки команд PostScript.
Если методы IPrintOemPS::Command экспортируются с помощью нескольких подключаемых модулей отрисовки, методы вызываются в том порядке, в соответствии с которыми подключаемые модули указываются для установки, каждый раз, когда драйвер принтера достигает точки внедрения. Применяются следующие правила.
Если точка внедрения является точкой, для которой предоставленные данные добавляются к данным, предоставленным драйвером принтера, вызывается каждый подключаемый модуль, и каждый подключаемый модуль может добавлять команды PostScript.
Если точка внедрения является точкой, для которой предоставленные данные заменяют данные, предоставленные драйвером принтера, подключаемые модули вызываются до тех пор, пока один метод IPrintOemPS::Command не предоставит ERROR_SUCCESS для dwResult. Другие подключаемые модули не вызываются. Если все подключаемые модули предоставляют ERROR_NOT_SUPPORTED, данные, предоставленные драйвером, не заменяются.
Если точка внедрения является точкой, для которой предоставленные данные заменяют данные, предоставленные драйвером принтера, и если приложение уже заменило предоставленные драйвером данные с помощью функции escape-POSTSCRIPT_INJECTION принтера, подключаемые модули не вызываются.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | prcomoem.h (включая Prcomoem.h) |