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 |
---|---|
|
L’opération a réussi. |
|
Un ou plusieurs arguments n’est pas valide, ou la fonctionnalité n’a pas été prise en charge. |
|
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) |