IPrintOemUI::CommonUIProp 方法 (prcomoem.h)

方法 IPrintOemUI::CommonUIProp 可讓使用者介面外掛程式修改現有的印表機屬性表頁面。

語法

HRESULT CommonUIProp(
  DWORD         dwMode,
  POEMCUIPPARAM pOemCUIPParam
);

參數

dwMode

呼叫端提供的整數常數,指出應該修改哪一個屬性表頁面。 下列常數有效。

定義
OEMCUIP_DOCPROP 正在呼叫 方法來修改文件屬性表的 [版面配置]、[紙張/品質] 或 [進階] 頁面。
OEMCUIP_PRNPROP 正在呼叫 方法來修改印表機屬性表的 [裝置設定] 頁面。

pOemCUIPParam

呼叫端提供的 OEMCUIPPARAM 結構的指標。

傳回值

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

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

備註

呼叫使用者介面外掛程式的 IPrintOemUI::CommonUIProp 方法時,它應該會傳回自定義的屬性表選項專案,以修改現有的印表機屬性表頁面。

方法 IPrintOemUI::CommonUIProp 是由印表機驅動程式的 印表機介面 DLL 呼叫。 方法應該提供描述屬性表專案的 OPTITEM 結構的數位,以及用來處理使用者對選項值修改的回呼函式。

您應該預期每個屬性表呼叫 方法兩次。 方法的 dwMode 參數值會指出是否要呼叫它來變更印表機屬性表或文件屬性表。

第一次呼叫時,方法應該只會傳回要加入的 OPTITEM 結構數目。 這個數字應該放在 OEMCUIPPARAM 結構的 cOEMOptItems 成員中。 印表機介面 DLL 接著會設定足夠的記憶體來儲存指定的 OPTITEM 數目,然後再次呼叫 IPrintOemUI::CommonUIProp

第二次呼叫時 IPrintOemUI::CommonUIProp ,方法應該會執行下列動作:

  • 使用選項描述填入 OPTITEM 結構的驅動程式提供數位。 此陣列是由 OEMCUIPPARAM 結構的 pOEMOptItems 成員所指向,而配置陣列元素的數目則包含在結構的 cOEMOptItems 成員中。 (如需指定 OPTITEM 成員值的詳細資訊,請參閱 OEMCUIPPARAM 結構的 pOEMOptItems 成員) 的描述。
  • 將數位放在 OEMCUIPPARAM 結構的 cOEMOptItems 成員中,以傳回新增至 OPTITEM 陣列的結構數目。
  • 傳回 OEMCUIPPARAM 結構 OEMCUIPCallback 成員中回呼函式的位址。 當使用者修改屬性表頁面時,會呼叫此回呼函式。 回呼函式的類型必須是 OEMCUIPCALLBACK
  • 或者,將私人數據結構的位址放在 OEMCUIPPARAM 結構的 pOEMUserData 成員中,以傳回私人數據結構的位址。 結構 OEMCUIPCallback 成員所指定的回調函式會接收 OEMCUIPPARAM 結構的位址做為輸入參數,因此可以取得私人數據的位址。

    使用 OEMCUIPPARAM 結構 hOEMHeap 成員中包含的句柄,呼叫 Microsoft Windows SDK HeapAlloc 函式,即可配置私用數據結構的空間。

如果 IPrintOemUI::CommonUIProp 多個使用者介面外掛程式匯出方法,則會依指定外掛程式安裝的順序呼叫方法。

如需詳細資訊,請參閱 修改 Driver-Supplied 屬性表頁面

規格需求

需求
目標平台 桌面
標頭 prcomoem.h (包含 Prcomoem.h)