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 打印机驱动程序在发送 %%Trailer 部分后发送 %%DocumentSuppliedResources。 |
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 时: (端) 到数据流中。 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 方法为 dwResult 提供ERROR_SUCCESS。 不会调用其他插件。 如果所有插件都提供ERROR_NOT_SUPPORTED,则不会替换驱动程序提供的数据。
如果注入点提供的数据替换了打印机驱动程序提供的数据,并且应用程序已使用 POSTSCRIPT_INJECTION 打印机转义函数替换了驱动程序提供的数据,则不会调用任何插件。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |