Share via


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

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

Syntaxe

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

Paramètres

[in, optional] pDevmode

Pointeur vers une structure DEVMODEW. Si ce pointeur est fourni, IPrintCoreHelperPS ::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 de IPrintOemPS ::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 PPD.

[out] ppszOption

Pointeur vers une variable qui contient l’adresse d’une chaîne ANSI. Lorsque IPrintCoreHelperPS ::GetOption est retourné, la chaîne doit contenir les mot clé de 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

IPrintCoreHelperPS ::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

IPrintCoreHelperPS ::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 le fichier PPD. En outre, le pilote Pscript5 prend en charge plusieurs mots clés réservés pour les options stockées dans sa structure DEVMODEWprivée. Pour obtenir la liste des fonctionnalités Pscript5, consultez Mappage de mots clés.

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

IPrintCoreHelperPS

IPrintCoreHelperPS ::EnumOptions

IPrintCoreHelperPS ::SetOptions