Partager via


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

La méthode IPrintCoreHelperUni::WhyConstrained fournit une liste d’options qui limitent la paire d’options de fonctionnalité 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, IPrintCoreHelperUni::WhyConstrained devez utiliser la structure DEVMODEW pointée par 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 IPrintOemUni ::D evMode, ce paramètre est requis. Dans la plupart des autres cas, le paramètre doit être NULL. Lorsque le pilote principal définit pDevmode sur NULL, il modifie son état interne plutôt que celui de la structure DEVMODEW passée. Cela est nécessaire pendant les opérations telles que le remplacement complet de l’interface utilisateur, où la structure DEVMODEW retournée par une DDI, telle que DrvDocumentPropertySheets, est en cours de service par le module d’interface utilisateur du pilote principal.

[in] cbSize

Taille, en octets, de la structure DEVMODEW pointée par 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 GPD.

[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 GPD.

[out] ppFOConstraints

Pointeur vers un tableau d’éléments PRINT_FEATURE_OPTION. Lorsque IPrintCoreHelperUni::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 d’options de fonctionnalité dans le tableau pointé par le paramètre ppFOConstraints.

Valeur de retour

IPrintCoreHelperUni::WhyConstrained devez retourner l’une des valeurs suivantes.

Retourner le code Description
S_OK
L’opération a réussi.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides, 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 d’options de fonctionnalité spécifiée n’est pas contrainte, IPrintCoreHelperUni::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. S’il existe des combinaisons non valides qui répertorient plus de deux paires d’options de fonctionnalité, toutefois, une seule option de la combinaison sera incluse dans la liste.

Exigences

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

Voir aussi

IPrintCoreHelperUni

IPrintCoreHelperUni ::EnumConstrainedOptions