共用方式為


OEMCUIPCALLBACK 回呼函式 (printoem.h)

OEMCUIPCALLBACK 函式類型用於定義使用者介面外掛程式 IPrintOemUI::CommonUIProp 方法所指定的回呼函式。 結構定義於printoem.h中。

語法

OEMCUIPCALLBACK Oemcuipcallback;

LONG Oemcuipcallback(
  PCPSUICBPARAM unnamedParam1,
  POEMCUIPPARAM unnamedParam2
)
{...}

參數

unnamedParam1

CPSUICBPARAM 結構的指標。

unnamedParam2

OEMCUIPPARAM 結構的指標。

傳回值

請參閱下列一節。

備註

當使用者修改印表機屬性表時,會呼叫 IPrintOemUI::CommonUIProp 方法所指定的回調函式。 回呼函式的目的是要處理自訂選項項目的使用者修改。

修改屬性表專案時, CPSUI 會呼叫印表機驅動程式的印表機介面 DLL。 此 DLL 包含自己的回呼函式,其類型 為 _CPSUICALLBACK,其會處理其本身 OPTITEM 結構中包含的選項值。 然後印表機介面 DLL 的回呼函式會呼叫使用者介面外掛程式的回調函式。 如果提供了多個使用者介面外掛程式,則會依外掛程式安裝的順序呼叫每個外掛程式的回調函式。

回呼函式會接收 CPSUICBPARAM 結構的指標。 結構的 Reason 成員會識別導致呼叫回呼函式的事件。 此函式也會接收 IPrintOemUI::CommonUIProp 方法指定回呼函式位址時所使用的相同 OEMCUIPPARAM 結構的指標。

CPSUICBPARAM 結構的 pOptItempCurItem 成員會識別修改的選項。 回呼函式可以使用這些指標,以及 OEMCUIPPARAM 結構的 pOEMOptItemscOEMOptItem 成員,以判斷修改的選項是否為使用者介面外掛程式所擁有的選項。

呼叫回呼函式時,它必須判斷其任何自定義 OPTITEM 結構是否受到指定的 Reason 值影響。 如果是,函式應該處理受影響的選項,並傳回 _CPSUICALLBACK 函式類型所述的其中一個CPSUI_ACTION前置詞傳回值。 否則應該會傳回CPSUICB_ACTION_NONE。

下列其他規則適用於回呼函式傳回值:

  • 如果 Reason 包含CPSUICB_REASON_APPLYNOW,則回呼必須傳回CPSUICB_ACTION_ITEMS_APPLIED或CPSUICB_ACTION_NO_APPLY_EXIT。 在後者的情況下,印表機驅動程式介面會立即返回 CPSUI,而不呼叫任何其他使用者介面外掛程式的回呼函式。

  • 如果 Reason 包含CPSUICB_REASON_APPLYNOW以外的任何值,則傳回值必須是下列其中一項:

    • CPSUICB_ACTION_REINIT_ITEMS

    • CPSUICB_ACTION_OPTIF_CHANGED

    • CPSUICB_ACTION_NONE

      這些傳回值會依遞減優先順序的順序列出。 如果有多個使用者介面外掛程式存在,印表機介面 DLL 會呼叫每個使用者的回呼函式,並儲存最高優先順序的傳回值,並將它傳回 CPSUI。

規格需求

需求
目標平台 桌面
標頭 printoem.h (包括 Printoem.h、Compstui.h)