Méthode IPrintCoreHelper ::GetOption (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 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] pszFeatureRequested

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

[out] ppszOption

Pointeur vers une variable qui contient l’adresse d’une chaîne ANSI. Lorsque IPrintCoreHelper ::GetOption est retourné, la chaîne doit contenir les mot clé pour l’option actuellement sélectionnée telle qu’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 retournée

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

Code de retour Description
S_OK
La méthode a lu l’option pour la fonctionnalité spécifiée.
E_FAIL
L’appelant a fourni des informations qui ont donné lieu à 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 qu’un trop grand nombre d’options ont été demandées pour la fonctionnalité.
E_OUTOFMEMORY
Le pilote principal n’a pas pu traiter la demande, car la mémoire était 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 simultanément plusieurs options.

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 DEVMODEW privées.

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.

Configuration requise

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

Voir aussi

IPrintCoreHelper

IPrintCoreHelper ::EnumOptions

IPrintCoreHelper ::SetOptions