Méthode IPrintCoreUI2 ::SetOptions (prcomoem.h)

La IPrintCoreUI2::SetOptions méthode définit les paramètres des fonctionnalités 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 pas résoudre les conflits qui surviennent.
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 fonctionnalité/option mot clé au format MULTI_SZ. Chaque élément de cette liste est séparé du suivant par un caractère null, et la liste se termine par 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 détecté 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 retournée

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

Code de retour Description
S_OK
S_OK
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 dans dwFlags était incorrecte.

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

Le paramètre poemuiobj pointe 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 des fonctionnalités du pilote à l’aide d’une liste de paires fonctionnalité/option mot clé. 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 des fonctionnalités 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, la fonctionnalité/option mot clé paires doit ê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 termine la liste.

Si la mémoire tampon d’entrée contient une fonctionnalité mot clé ou son option mot clé qui n’est pas reconnue, ou si la fonctionnalité est reconnue mais non prise en charge dans le 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 pour cette fonctionnalité continue d’être appliquée.

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

Pour plus d’informations, consultez Utilisation de GetOptions et SetOptions.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête prcomoem.h (include Prcomoem.h)

Voir aussi

IPrintCoreUI2

IPrintCoreUI2 ::GetOptions

IPrintOemUI ::D evicePropertySheets

IPrintOemUI ::D ocumentPropertySheets

OEMUIOBJ