閱讀英文

共用方式為


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 屬性中指定的值。 (如需詳細資訊,請參閱下列一節。可為 NULL

[out] piResult

接收方法提供的結果值。 請參閱下列一節。

傳回值

方法必須傳回下列其中一個值。

傳回碼 描述
S_OK
作業成功。
E_FAIL
作業失敗
E_NOTIMPL
未實作 方法。

言論

IPrintOemUni::CommandCallback 方法是透過轉譯外掛程式來動態產生印表機命令,適用於 unidrv 支援的印表機。

如果您想要動態產生印表機命令,您必須在印表機 GPD 檔案的 *Command 專案內,包含 *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)