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 結構的 pOptItem 和 pCurItem 成員會識別修改的選項。 回呼函式可以使用這些指標,以及 OEMCUIPPARAM 結構的 pOEMOptItems 和 cOEMOptItem 成員,以判斷修改的選項是否為使用者介面外掛程式所擁有的選項。
呼叫回呼函式時,它必須判斷其任何自定義 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) |