Partager via


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

La IPrintCoreHelperUni::WhyConstrained méthode fournit une liste d’options qui limitent la paire fonctionnalité-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, IPrintCoreHelperUni::WhyConstrained doit 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 obligatoire. Dans la plupart des autres situations, 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 lors d’opérations telles que le remplacement complet de l’interface utilisateur, où la structure DEVMODEW retournée par un DDI, telle que DrvDocumentPropertySheets, est prise en charge 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 . En cas IPrintCoreHelperUni::WhyConstrained de retour, le tableau contient une liste de paires caractéristique-élément 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 fonctionnalité-option dans le tableau vers lequel pointe le paramètre ppFOConstraints .

Valeur retournée

IPrintCoreHelperUni::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 les 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, 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. Toutefois, s’il existe des combinaisons non valides qui répertorient plus de deux paires fonctionnalité-option, une seule option de la combinaison est incluse dans la liste.

Configuration requise

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

Voir aussi

IPrintCoreHelperUni

IPrintCoreHelperUni ::EnumConstrainedOptions