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 檔案的命令的 *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 (包括 Prcomoem.h)