IPrintOemUni::CommandCallback 方法 (prcomoem.h)

方法 IPrintOemUni::CommandCallback 用于为 Unidrv 支持的打印机提供动态生成的打印机命令。

语法

HRESULT CommandCallback(
        PDEVOBJ pdevobj,
        DWORD   dwCallbackID,
        DWORD   dwCount,
        PDWORD  pdwParams,
  [out] OUT INT *piResult
);

参数

pdevobj

调用方提供的指向 DEVOBJ 结构的指针。

dwCallbackID

调用方提供的值,表示打印机的 GPD 文件中打印机命令的 *CallbackID 属性。 (有关详细信息,请参阅以下“备注”部分。)

dwCount

调用方提供的值,表示 pdwParams 指向的数组中的元素数。 可以为 0。

pdwParams

调用方提供的指向 DWORD 大小的参数数组的指针,其中包含由打印机 GPD 文件中的打印机命令 *Params 属性指定的值。 (有关详细信息,请参阅以下“备注”部分。) 可以为 NULL

[out] piResult

接收方法提供的结果值。 请参阅以下“备注”部分。

返回值

方法必须返回以下值之一。

返回代码 说明
S_OK
操作成功。
E_FAIL
操作失败
E_NOTIMPL
该方法未实现。

注解

方法 IPrintOemUni::CommandCallback 通过呈现插件来动态生成 Unidrv 支持的打印机的打印机命令。

如果要动态生成打印机命令,则必须在打印机的 GPD 文件中的命令条目中包含 *CallbackID 属性和 *Params 属性(可选)。 有关详细信息,请参阅 动态生成的打印机命令

当 Unidrv 调用 方法时 IPrintOemUni::CommandCallback ,它将提供 *Command 条目的 *CallbackID 属性值作为 dwCallbackID 参数。 它还将命令条目的 *Params 属性值置于 DWORD 数组中,并提供数组的地址作为 pParams 参数。 数组包含 Unidrv 定义的 一组标准变量 值, dwCount 参数指定数组中包含的参数数。 有关属性的详细信息,请参阅 命令属性

方法应使用 dwCallbackID 参数值来确定要处理的命令。 对于每个受支持的命令,方法必须知道由 *Command 条目的 *Params 属性指定了哪些标准变量(如果有),以及按何种顺序指定。

方法负责构造打印机命令,然后通过调用 IPrintOemDriverUni::D rvWriteSpoolBuf 方法将命令发送到打印后台处理程序。

piResult 提供的值应始终返回零,除非方法正在处理游标命令。 对于在 x 方向上移动光标的游标命令,方法应返回新的游标位置。

方法是 IPrintOemUni::CommandCallback 可选的。 如果呈现插件实现此方法,则插件的 IPrintOemUni::GetImplementedMethod 方法在接收“CommandCallback”作为输入时必须返回S_OK。

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)