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 打印机驱动程序在发送 %%Trailer 节后发送 %%DocumentNeededResources:。 |
PSINJECT_DOCSUPPLIEDRES |
打印机驱动程序发送 %%DocumentSuppliedResources后: 数据流以及资源信息。 如果 IPrintOemPS::Command 方法发送资源信息,则会在驱动程序的资源信息之后将其追加到流中。 条目格式如下所示: %%+ ResourceTypeResourceNames 打印机驱动程序发送 %%DocumentSuppliedResources:发送 %%Trailer 节后。 |
PSINJECT_DOCUMENTPROCESSCOLORS | |
打印机驱动程序准备好在数据流中插入 %%DocumentProcessColors:颜色。 IPrintOemPS::Command 提供的数据将替换驱动程序的 %%DocumentProcessColors:颜色 注释。 | |
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:颜色。 IPrintOemPS::Command 提供的数据将替换驱动程序的 %%PlateColor:颜色 注释。 |
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 方法为 dwResult提供ERROR_SUCCESS。 不会调用其他插件。 如果所有插件都提供ERROR_NOT_SUPPORTED,则不会替换驱动程序提供的数据。
如果注入点是提供的数据替换打印机驱动程序提供的数据,并且应用程序已使用 POSTSCRIPT_INJECTION 打印机转义函数替换驱动程序提供的数据,则不会调用任何插件。
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (include Prcomoem.h) |