Partager via


IPrintCoreHelperPS ::WhyConstrained, méthode (prcomoem.h)

La méthode IPrintCoreHelperPS ::WhyConstrained fournit une liste d’options qui limitent la paire feature-option spécifiée dans la configuration actuelle.

Syntaxe

HRESULT WhyConstrained(
  [in, optional] const DEVMODE              *pDevmode,
  [in]           DWORD                      cbSize,
  [in]           PCSTR                      pszFeatureKeyword,
  [in]           PCSTR                      pszOptionKeyword,
  [out]          const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out]          DWORD                      *pdwNumOptions
);

Paramètres

[in, optional] pDevmode

Pointeur vers une structure DEVMODEW . Si ce pointeur est fourni, IPrintCoreHelperPS ::WhyConstrained doit utiliser la structure DEVMODEW vers laquelle est pointé pDevmode au lieu de la structure DEVMODEW par défaut ou actuelle. Si cette méthode est appelée à partir du fournisseur de plug-in ou de IPrintOemPS ::D evMode, ce paramètre est obligatoire. Dans la plupart des autres situations, le paramètre doit avoir la valeur NULL. Lorsque le pilote principal définit pDevmode sur NULL, il modifie son état interne plutôt que celui de la structure DEVMODEW transmise. Cela est requis lors d’opérations telles que le remplacement complet de l’interface utilisateur, où la structure DEVMODEW retournée par un DDI, comme DrvDocumentPropertySheets, est en cours de maintenance par le module d’interface utilisateur du pilote principal.

[in] cbSize

Taille, en octets, de la structure DEVMODEW vers laquelle pointe le paramètre pDevmode .

[in] pszFeatureKeyword

Pointeur vers une chaîne ANSI qui contient le nom de la fonctionnalité. Le nom de la fonctionnalité doit correspondre au mot clé utilisé dans le fichier PPD.

[in] pszOptionKeyword

Pointeur vers une chaîne ANSI qui contient le nom de l’option. Le nom de l’option doit correspondre au mot clé utilisé dans le fichier PPD.

[out] ppFOConstraints

Pointeur vers un tableau d’éléments PRINT_FEATURE_OPTION . Quand IPrintCoreHelperPS ::WhyConstrained retourne, le tableau contient une liste de paires d’éléments de fonctionnalité des options qui limitent les options spécifiées dans le paramètre pszOptionKeyword .

[out] pdwNumOptions

Pointeur vers une variable qui reçoit le nombre de paires feature-option dans le tableau vers lequel pointe le paramètre ppFOConstraints .

Valeur retournée

IPrintCoreHelperPS ::WhyConstrained doit retourner l’une des valeurs suivantes.

Code de retour Description
S_OK
L’opération a réussi.
E_INVALIDARG
Un ou plusieurs arguments n’est pas valide ou la fonctionnalité n’a pas été prise en charge.
E_OUTOFMEMORY
La mémoire du tableau de résultats n’a pas pu être allouée.
 

Pour d’autres échecs, la méthode doit retourner un code d’erreur COM standard.

Remarques

Si la paire feature-option spécifiée n’est pas limitée, IPrintCoreHelperPS ::WhyConstrained retourne S_OK mais retourne avec *pdwFOPairs défini sur 0 et avec *ppFOConstraints[0] défini sur NULL.

Notez que les résultats de cette méthode peuvent ne pas contenir toutes les options qui affectent l’option actuellement sélectionnée. Toutefois, s’il existe des combinaisons non valides, une seule option de la combinaison sera incluse dans la liste.

Configuration requise

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

Voir aussi

IPrintCoreHelperPS

IPrintCoreHelperPS ::EnumConstrainedOptions