Partager via


Méthode IPrintCorePS2 ::EnumOptions (prcomoem.h)

La IPrintCorePS2::EnumOptions méthode énumère les options disponibles d’une fonctionnalité spécifique.

Syntaxe

HRESULT EnumOptions(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCSTR   pszFeatureKeyword,
  [out] PSTR    pmszOptionList,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

Paramètres

[in] pdevobj

Pointeur vers une structure DEVOBJ .

[in] dwFlags

Est réservé et doit être défini sur zéro.

[in] pszFeatureKeyword

Pointeur vers une mémoire tampon fournie par l’appelant contenant une chaîne ASCII, spécifiant une fonctionnalité mot clé dont les options sont demandées.

[out] pmszOptionList

Pointeur vers une mémoire tampon fournie par l’appelant qui reçoit une liste délimitée par des valeurs Null, au format MULTI_SZ, contenant les mots clés d’option pour la fonctionnalité mot clé pointée par pszFeatureKeyword. Cette liste se termine par deux caractères Null.

Définissez ce paramètre sur NULL pour simplement interroger la taille (*pcbNeeded) de la liste d’options sans que la liste soit remplie.

[in] cbSize

Spécifie la taille, en octets, de la mémoire tampon pointée par pmszOptionList.

[out] pcbNeeded

Pointeur vers un emplacement de mémoire qui reçoit la taille réelle, en octets, des données demandées.

Valeur retournée

Cette méthode doit retourner l’une des valeurs suivantes.

Code de retour Description
S_OK
S_OK
E_OUTOFMEMORY
La valeur dans cbSize était inférieure au nombre d’octets à écrire dans la mémoire tampon de sortie (la mémoire tampon pointée par pmszOptionList).

La méthode a été appelée avec pmszOptionList définie sur NULL.

E_INVALIDARG
La chaîne pointée par pszFeatureKeyword n’est pas une fonctionnalité reconnue.

Le paramètre pdevobj pointait vers un objet de contexte de pilote non valide.

E_NOTIMPL
(Pscript uniquement)

La fonctionnalité de pilote Pscript5 n’est pas prise en charge dans la configuration actuelle.

La fonctionnalité de pilote Pscript5 est prise en charge dans la configuration actuelle, mais les options de la fonctionnalité pilote Pscript5 ne sont pas énumérables.

E_FAIL
Échec de la méthode.

Remarques

Pour réduire la nécessité d’effectuer deux appels par accès aux données, transmettez à la méthode une mémoire tampon de sortie d’une taille fixe (1 Ko, par exemple), puis case activée la valeur de retour de la fonction. Si la méthode retourne S_OK, la mémoire tampon contient déjà les données intéressantes. Si la méthode retourne E_OUTOFMEMORY, la valeur dans *pcbNeeded est la taille de mémoire tampon nécessaire pour contenir les données intéressantes. L’appelant doit ensuite allouer une mémoire tampon de cette plus grande taille et procéder à un deuxième appel à la méthode .

Cette méthode est prise en charge pour tout plug-in de rendu Pscript5.

Pour plus d’informations, consultez Utilisation d’EnumOptions.

Configuration requise

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

Voir aussi

DEVOBJ

IPrintCorePS2

IPrintCorePS2 ::EnumFeatures