Partager via


Méthode IPrintCoreHelperUni ::GetOption (prcomoem.h)

La IPrintCoreHelperUni::GetOption méthode 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, IPrintCoreHelperUni::GetOption utilisez 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 IPrintOemUni ::D evMode, ce paramètre est obligatoire. Dans la plupart des autres situations, le paramètre doit avoir la valeur NULL. Lorsque le pilote principal définit pDevmode sur NULL, il modifie son état interne plutôt que celui de la structure DEVMODEW transmise. Cela est requis lors d’opérations telles que le remplacement complet de l’interface utilisateur, où la structure DEVMODEW retournée par un DDI, comme DrvDocumentPropertySheets, est en cours de maintenance par le module d’interface utilisateur du pilote principal.

[in] cbSize

Taille, en octets, de la structure DEVMODEW vers laquelle pointe 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 IPrintCoreHelperUni::GetOption la valeur retourne, la chaîne doit contenir le 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

IPrintCoreHelperUni::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 que trop d’options ont été demandées pour la fonctionnalité.
E_OUTOFMEMORY
Le pilote principal n’a pas pu traiter la demande en raison d’une 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

IPrintCoreHelperUni::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 GPD. En outre, le pilote Unidrv prend en charge plusieurs mots clés réservés pour les options stockées dans sa structure DEVMODEW privée. Pour obtenir la liste des fonctionnalités Unidrv, 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 d’une manière quelconque.

Configuration requise

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

Voir aussi

IPrintCoreHelperUni

IPrintCoreHelperUni ::SetOptions