Fonction de rappel OEMCUIPCALLBACK (printoem.h)

Le type de fonction OEMCUIPCALLBACK est utilisé pour définir des fonctions de rappel spécifiées par la méthode IPrintOemUI ::CommonUIProp d’un plug-in d’interface utilisateur. La structure est définie dans printoem.h.

Syntaxe

OEMCUIPCALLBACK Oemcuipcallback;

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

Paramètres

unnamedParam1

Pointeur vers une structure CPSUICBPARAM .

unnamedParam2

Pointeur vers une structure OEMCUIPPARAM .

Valeur retournée

Consultez la section Remarques suivante.

Remarques

Une fonction de rappel spécifiée par une méthode IPrintOemUI ::CommonUIProp est appelée lorsqu’un utilisateur modifie une feuille de propriétés d’imprimante. L’objectif de la fonction de rappel est de traiter les modifications apportées par l’utilisateur aux éléments d’option personnalisés.

Lorsqu’un élément de feuille de propriétés est modifié, CPSUI appelle la DLL de l’interface d’imprimante du pilote d’imprimante. Cette DLL contient sa propre fonction de rappel, de type _CPSUICALLBACK, qui traite les valeurs d’option contenues dans ses propres structures OPTITEM. Ensuite, la fonction de rappel de la DLL de l’interface d’imprimante appelle la fonction de rappel du plug-in d’interface utilisateur. Si plusieurs plug-ins d’interface utilisateur sont fournis, la fonction de rappel de chaque plug-in est appelée, à son tour, dans l’ordre dans lequel les plug-ins ont été installés.

La fonction de rappel reçoit un pointeur vers une structure CPSUICBPARAM . Le membre Reason de la structure identifie l’événement qui a provoqué l’appel de la fonction de rappel. La fonction reçoit également un pointeur vers la même structure OEMCUIPPARAM que celle utilisée lorsque la méthode IPrintOemUI ::CommonUIProp a spécifié l’adresse de la fonction de rappel.

Les membres pOptItem et pCurItem de la structure CPSUICBPARAM identifient l’option modifiée. La fonction de rappel peut utiliser ces pointeurs, ainsi que les membres pOEMOptItems et cOEMOptItem de la structure OEMCUIPPARAM, pour déterminer si l’option modifiée appartient au plug-in d’interface utilisateur.

Lorsqu’une fonction de rappel est appelée, elle doit déterminer si l’une de ses structures OPTITEM personnalisées est affectée par la valeur Reason spécifiée. Si tel est le cas, la fonction doit traiter les options affectées et retourner l’une des valeurs de retour avec préfixe CPSUI_ACTION décrites pour le type de fonction _CPSUICALLBACK . Sinon, elle doit retourner CPSUICB_ACTION_NONE.

Les règles supplémentaires suivantes s’appliquent aux valeurs de retour de fonction de rappel :

  • Si Reason contient CPSUICB_REASON_APPLYNOW, le rappel doit retourner CPSUICB_ACTION_ITEMS_APPLIED ou CPSUICB_ACTION_NO_APPLY_EXIT. Dans ce dernier cas, l’interface du pilote d’imprimante retourne immédiatement à CPSUI sans appeler la fonction de rappel d’un autre plug-in d’interface utilisateur.

  • Si La raison contient une valeur à l’exception de CPSUICB_REASON_APPLYNOW, la valeur de retour doit être l’une des suivantes :

    • CPSUICB_ACTION_REINIT_ITEMS

    • CPSUICB_ACTION_OPTIF_CHANGED

    • CPSUICB_ACTION_NONE

      Ces valeurs de retour sont répertoriées dans l’ordre de priorité décroissant. S’il existe plusieurs plug-ins d’interface utilisateur, la DLL de l’interface d’imprimante appelle la fonction de rappel de chacun d’eux et enregistre la valeur de retour de priorité la plus élevée, en la transmettant à CPSUI.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête printoem.h (inclure Printoem.h, Compstui.h)