Funzione di callback OEMCUIPCALLBACK (printoem.h)

Il tipo di funzione OEMCUIPCALLBACK viene usato per definire le funzioni di callback specificate dal metodo IPrintOemUI::CommonUIProp di un'interfaccia utente. La struttura è definita in printoem.h.

Sintassi

OEMCUIPCALLBACK Oemcuipcallback;

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

Parametri

unnamedParam1

Puntatore a una struttura CPSUICBPARAM .

unnamedParam2

Puntatore a una struttura OEMCUIPPARAM .

Valore restituito

Vedere la sezione Osservazioni seguente.

Commenti

Una funzione di callback specificata da un metodo IPrintOemUI::CommonUIProp viene chiamata quando un utente modifica una finestra delle proprietà della stampante. Lo scopo della funzione di callback è elaborare le modifiche dell'utente agli elementi di opzione personalizzati.

Quando viene modificato un elemento della finestra delle proprietà, CPSUI chiama la DLL dell'interfaccia della stampante del driver della stampante. Questa DLL contiene la propria funzione di callback, di tipo _CPSUICALLBACK, che elabora i valori di opzione contenuti nelle proprie strutture OPTITEM. La funzione di callback della DLL dell'interfaccia della stampante chiama quindi la funzione di callback del plug-in dell'interfaccia utente. Se vengono forniti più plug-in dell'interfaccia utente, viene chiamata la funzione di callback di ogni plug-in, a sua volta, nell'ordine in cui sono stati installati i plug-in.

La funzione di callback riceve un puntatore a una struttura CPSUICBPARAM . Il membro Reason della struttura identifica l'evento che ha causato la chiamata della funzione di callback. La funzione riceve anche un puntatore alla stessa struttura OEMCUIPPARAM usata quando il metodo IPrintOemUI::CommonUIProp ha specificato l'indirizzo della funzione di callback.

I membri pOptItem e pCurItem della struttura CPSUICBPARAM identificano l'opzione modificata. La funzione di callback può usare questi puntatori, insieme ai membri pOEMOptItems e cOEMOptItem della struttura OEMCUIPPARAM, per determinare se l'opzione modificata è di proprietà del plug-in dell'interfaccia utente.

Quando viene chiamata una funzione di callback, deve determinare se una delle relative strutture OPTITEM personalizzate è interessata dal valore Reason specificato. In caso affermativo, la funzione deve elaborare le opzioni interessate e restituire uno dei valori restituiti con prefisso CPSUI_ACTION descritto per il tipo di funzione _CPSUICALLBACK . In caso contrario, deve restituire CPSUICB_ACTION_NONE.

Le regole aggiuntive seguenti si applicano ai valori restituiti dalla funzione di callback:

  • Se Reason contiene CPSUICB_REASON_APPLYNOW, il callback deve restituire CPSUICB_ACTION_ITEMS_APPLIED o CPSUICB_ACTION_NO_APPLY_EXIT. In quest'ultimo caso, l'interfaccia del driver della stampante torna immediatamente a CPSUI senza chiamare alcuna altra funzione di callback dell'interfaccia utente.

  • Se Reason contiene un valore tranne CPSUICB_REASON_APPLYNOW, il valore restituito deve essere uno dei seguenti:

    • CPSUICB_ACTION_REINIT_ITEMS

    • CPSUICB_ACTION_OPTIF_CHANGED

    • CPSUICB_ACTION_NONE

      Questi valori restituiti sono elencati in ordine di priorità decrescente. Se esistono più plug-in dell'interfaccia utente, la DLL dell'interfaccia della stampante chiama la funzione di callback di ogni utente e salva il valore restituito con priorità più alta, passandolo nuovamente a CPSUI.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione printoem.h (include Printoem.h, Compstui.h)