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 大小的参数数组的指针,其中包含打印机命令 *Params 属性在打印机 GPD 文件中指定的值。 (有关详细信息,请参阅以下备注部分。可以为 NULL

[out] piResult

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

返回值

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

返回代码 描述
S_OK
作成功。
E_FAIL
作失败
E_NOTIMPL
未实现该方法。

言论

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

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

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

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

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

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

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

要求

要求 价值
目标平台 桌面
标头 prcomoem.h (include Prcomoem.h)