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

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

Syntaxe

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

Paramètres

[in] pDevmode

Pointeur vers une structure DEVMODEW . Si ce pointeur est fourni, IPrintCoreHelper ::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 à partir de IPrintOemPS ::D evMode ou 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 ou 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 GPD ou PPD.

[out] ppFOConstraints

Pointeur vers un tableau d’éléments PRINT_FEATURE_OPTION . Lorsque IPrintCoreHelper ::WhyConstrained retourne, 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

IPrintCoreHelper ::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.

Remarques

Si la paire feature-option spécifiée n’est pas limitée, IPrintCoreHelper ::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. Pour les pilotes Unidrv, cette liste inclut au moins une option de chaque ensemble de contraintes actif. 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

IPrintCoreHelper

IPrintCoreHelper ::EnumConstrainedOptions