Partager via


IPrintCoreUI2 ::SetOptions, méthode (prcomoem.h)

La méthode IPrintCoreUI2::SetOptions définit les paramètres de fonctionnalité du pilote.

Syntaxe

HRESULT SetOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCZZSTR   pmszFeatureOptionBuf,
  [in]  DWORD     cbIn,
  [out] PDWORD    pdwResult
);

Paramètres

[in] poemuiobj

Pointeur vers le contexte actuel, une structure OEMUIOBJ.

[in] dwFlags

Spécifie si le pilote principal doit résoudre les conflits. Ce paramètre doit être défini sur l’une des valeurs suivantes :

Valeur Signification
SETOPTIONS_FLAG_KEEP_CONFLICT Demandez au pilote principal de ne résoudre aucun conflit qui survient.
SETOPTIONS_FLAG_RESOLVE_CONFLICT Demandez au pilote principal de résoudre tout conflit qui survient.

[in] pmszFeatureOptionBuf

Pointeur vers une mémoire tampon fournie par l’appelant contenant une liste de paires de mots clés de fonctionnalité/option au format MULTI_SZ. Chaque élément de cette liste est séparé de la suivante par un caractère Null, et la liste est arrêtée avec deux caractères Null.

[in] cbIn

Spécifie la taille, en octets, de la mémoire tampon pointée par pmszFeatureOptionBuf. Cette taille inclut le dernier caractère null MULTI_SZ.

[out] pdwResult

Pointeur vers un emplacement de mémoire qui reçoit l’une des valeurs suivantes. Ces constantes sont définies dans printoem.h.

Valeur Signification
SETOPTIONS_RESULT_CONFLICT_REMAINED Le pilote principal a trouvé des conflits, mais les a laissés non résolus.
SETOPTIONS_RESULT_CONFLICT_RESOLVED Le pilote principal a trouvé et résolu tous les conflits.
SETOPTIONS_RESULT_NO_CONFLICT Le pilote principal n’a trouvé aucun conflit.

Valeur de retour

La méthode doit retourner l’une des valeurs suivantes.

Retourner le code Description
S_OK
La méthode a réussi.
E_NOTIMPL
La méthode n’est pas prise en charge.

Une structure du type spécifié par dwLevel n’est pas prise en charge.

E_INVALIDARG
La valeur de dwFlags était incorrecte.

La mémoire tampon d’entrée (pointée par pmszFeatureOptionBuf) n’était pas au format MULTI_SZ.

Le paramètre poèmeuiobj pointait vers un objet de contexte non valide.

E_FAIL
Échec de la méthode

Remarques

Cette méthode est prise en charge uniquement pour les plug-ins Windows XP Pscript5, et non pour les plug-ins Unidrv.

Cette méthode est appelée pour définir les paramètres de fonctionnalité du pilote à l’aide d’une liste de paires de mots clés feature/option. L’appelant peut accéder aux paramètres de fonctionnalité résultants à l’aide de la méthode IPrintCoreUI2 ::GetOptions.

Si cette méthode retourne une valeur autre que S_OK, elle n’a apporté aucune modification aux paramètres de fonctionnalité du pilote.

La mémoire tampon d’entrée pmszFeatureOptionBuf doit être construite de la même façon que la mémoire tampon de sortie de la méthode IPrintCoreUI2 ::GetOptions. Autrement dit, les paires de mots clés de fonctionnalité/option doivent être au format MULTI_SZ, et chaque élément de la liste est séparé du suivant par un caractère Null. Une paire de caractères Null met fin à la liste.

Si la mémoire tampon d’entrée contient un mot clé de fonctionnalité ou son mot clé d’option qui n’est pas reconnu, ou si la fonctionnalité n’est pas prise en charge en mode sticky actuel (voir Remplacement Driver-Supplied pages de feuille de propriétés), la paire fonctionnalité/option est ignorée et l’option actuelle de cette fonctionnalité continue d’être en vigueur.

Cette méthode est prise en charge uniquement pour les plug-ins d’interface utilisateur qui remplacent entièrement les pages standard du pilote principal et est prise en charge uniquement pendant les fonctions IPrintOemUI ::D ocumentPropertySheets et IPrintOemUI ::D evicePropertySheets et leurs routines de rappel de feuille de propriétés.

Pour plus d’informations, consultez Using GetOptions and SetOptions.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête prcomoem.h (include Prcomoem.h)

Voir aussi

IPrintCoreUI2

IPrintCoreUI2 ::GetOptions

IPrintOemUI ::D evicePropertySheets

IPrintOemUI ::D ocumentPropertySheets

OEMUIOBJ