Partager via


IPrintOemPS ::EnablePDEV, méthode (prcomoem.h)

La méthode IPrintOemPS::EnablePDEV permet à un plug-in de rendu pour Pscript5 de créer sa propre structure PDEV.

Syntaxe

HRESULT EnablePDEV(
        PDEVOBJ       pdevobj,
        PWSTR         pPrinterName,
        ULONG         cPatterns,
        HSURF         *phsurfPatterns,
        ULONG         cjGdiInfo,
        GDIINFO       *pGdiInfo,
        ULONG         cjDevInfo,
        DEVINFO       *pDevInfo,
        DRVENABLEDATA *pded,
  [out] OUT PDEVOEM   *pDevOem
);

Paramètres

pdevobj

Pointeur fourni par l’appelant vers une structure DEVOBJ.

pPrinterName

Pointeur fourni par l’appelant vers une chaîne de texte représentant l’adresse logique de l’imprimante.

cPatterns

Valeur fournie par l’appelant représentant le nombre de handles de surface typés HSURF contenus dans la mémoire tampon pointée par phsurfPatterns.

phsurfPatterns

Pointeur fourni par l’appelant vers une mémoire tampon suffisamment grande pour contenir cPatterns nombre de poignées de surface typées HSURF. Les poignées représentent des motifs de remplissage de surface.

cjGdiInfo

Valeur fournie par l’appelant représentant la taille de la structure pointée par pGdiInfo.

pGdiInfo

Pointeur fourni par l’appelant vers une structure GDIINFO.

cjDevInfo

Valeur fournie par l’appelant représentant la taille de la structure pointée par pDevInfo.

pDevInfo

Pointeur fourni par l’appelant vers une structure DEVINFO.

pded

Pointeur fourni par l’appelant vers une structure DRVENABLEDATA contenant les adresses des fonctions de raccordement DDI graphique du pilote d’imprimante. Pour plus d’informations, consultez la section Remarques suivante.

[out] pDevOem

Reçoit un pointeur fourni par la méthode vers une structure PDEV privée. (Pour plus d’informations, consultez la section Remarques suivante.)

Valeur de retour

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

Retourner le code Description
S_OK
L’opération a réussi.
E_FAIL
Échec de l’opération
E_NOTIMPL
La méthode n’est pas implémentée.
 

Si l’opération échoue, la méthode doit appeler SetLastError pour définir un code d’erreur.

Remarques

La méthode IPrintOemPS::EnablePDEV effectue les mêmes types d’opérations que la fonction DrvEnablePDEV exportée par une DLL graphique d’imprimante. Son objectif est de permettre à un plug-in de rendu de créer sa propre structure PDEV. (Pour plus d’informations sur les structures PDEV, consultez structures PDEV personnalisées.)

Si vous fournissez un plug-in de rendu qui exporte la méthode IPrintOemPS::EnablePDEV, la DLL graphique d’imprimante Pscript5 appelle la méthode à partir de sa fonction DrvEnablePDEV.

La méthode IPrintOemPS::EnablePDEV doit allouer une instance de sa structure PDEV privée, l’initialiser et retourner son adresse en tant que paramètre pDevOem de la méthode. D’autres méthodes de plug-in reçoivent l’adresse en tant que membre pdevOEM de la structure DEVOBJ.

Le membre pdevOEM de la structure DEVOBJ n’est pas utilisé avec la méthode IPrintOemPS::EnablePDEV.

Les structures pointées par les phsurfPatterns, pGdiInfoet les valeurs de paramètres pDevInfo sont les mêmes que celles reçues par la fonction DrvEnablePDEV de Pscript5. Le plug-in de rendu peut modifier le contenu de la structure si nécessaire. Il peut fournir des modèles de remplissage de surface en obtenant des poignées de surface typées HSURF et en les plaçant dans la mémoire tampon pointée par phsurfPatterns. Les types de modèles de remplissage et l’ordre de handle sont répertoriés dans la description de DrvEnablePDEV.

La structure DRVENABLEDATA pointée par pded contient les adresses des fonctions DDI graphiques fournies par la DLL graphique d’imprimante Pscript5. Vous êtes autorisé à fournir des fonctions de raccordement personnalisées dans votre plug-in pour ces fonctions DDI graphiques. Le contenu de la structure DRVENABLEDATA permet à vos fonctions de raccordement personnalisées de rappeler les fonctions DDI graphiques du pilote. Pour plus d’informations, consultez fonctions DDI graphiques personnalisées.

Exigences

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