Partager via


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

La méthode IPrintCoreHelper ::GetOption obtient une option spécifiée pour une fonctionnalité donnée.

Syntaxe

HRESULT GetOption(
  [in]  const DEVMODE *pDevmode,
  [in]  DWORD         cbSize,
  [in]  PCSTR         pszFeatureRequested,
  [out] PCSTR         *ppszOption
);

Paramètres

[in] pDevmode

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

Pointeur vers la chaîne ANSI qui contient le nom de la fonctionnalité telle qu’elle apparaît dans le fichier GPD.

[out] ppszOption

Pointeur vers une variable qui contient l’adresse d’une chaîne ANSI. Lorsque IPrintCoreHelper ::GetOption retourne, la chaîne doit contenir le mot clé de l’option actuellement sélectionnée, car elle apparaît dans le fichier de configuration. L’appelant ne doit pas modifier cette chaîne et ne doit pas libérer la mémoire associée à cette chaîne.

Valeur de retour

IPrintCoreHelper ::GetOption doit retourner l’une des valeurs suivantes.

Retourner le code Description
S_OK
La méthode lit l’option de la fonctionnalité spécifiée.
E_FAIL
L’appelant a fourni des informations qui ont entraîné une demande non valide. Par exemple, la fonctionnalité demandée n’existe pas.
E_INVALIDARG
Les arguments n’étaient pas valides. Cette valeur peut signifier que la fonctionnalité n’est pas prise en charge ou que trop d’options ont été demandées pour la fonctionnalité.
E_OUTOFMEMORY
Le pilote principal n’a pas pu traiter la requête, car il n’y avait pas de mémoire insuffisante.
E_UNEXPECTED, ou d’autres codes de retour non répertoriés ici
Le pilote principal semble être dans un état non valide. L’appelant doit retourner un code d’échec.

Remarques

IPrintCoreHelper ::GetOption ne peut pas être utilisé pour les fonctionnalités qui permettent de définir plusieurs options simultanément.

Les mots clés de fonctionnalité sont définis dans les fichiers GPD et PPD. En outre, les pilotes Unidrv et Pscript5 prennent en charge plusieurs mots clés réservés pour les options stockées dans leurs structures de PRIVÉES DEVMODEW.

L’appelant ne doit pas libérer la chaîne pointée par ppszOption et ne doit pas modifier la chaîne de quelque manière que ce soit.

Exigences

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

Voir aussi

IPrintCoreHelper

IPrintCoreHelper ::EnumOptions

IPrintCoreHelper ::SetOptions