IPrintOemUni ::EnablePDEV, méthode (prcomoem.h)
La méthode IPrintOemUni::EnablePDEV
permet à un plug-in de rendu pour Unidrv 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 |
---|---|
|
L’opération a réussi. |
|
Échec de l’opération |
Si l’opération échoue, la méthode doit appeler SetLastError pour définir un code d’erreur.
Remarques
Un plug-in de rendu pour Unidrv doit implémenter la méthode IPrintOemUni::EnablePDEV
.
La méthode IPrintOemUni::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 IPrintOemUni::EnablePDEV
, la DLL graphique d’imprimante d’Undrv appelle la méthode à partir de sa fonction DrvEnablePDEV.
La méthode IPrintOemUni::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 IPrintOemUni::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 DrvEnablePDEV. 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 d’Unidrv. 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) |