Méthode IPrintOemUni ::EnablePDEV (prcomoem.h)
La IPrintOemUni::EnablePDEV
méthode 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 poignées de surface de type HSURF contenues dans la mémoire tampon pointée par phsurfPatterns.
phsurfPatterns
Pointeur fourni par l’appelant vers une mémoire tampon suffisamment grande pour contenir le nombre cPatterns de poignées de surface de type HSURF. Les poignées représentent des modèles de remplissage de surface.
cjGdiInfo
Valeur fournie par l’appelant représentant la taille de la structure pointée vers 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 graphiques du pilote d’imprimante. Pour plus d'informations, consultez la section Notes qui suit.
[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 retournée
La méthode doit retourner l’une des valeurs suivantes.
Code de retour | Description |
---|---|
|
L’opération a réussi. |
|
L’opération a échoué |
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 IPrintOemUni::EnablePDEV
méthode .
La IPrintOemUni::EnablePDEV
méthode 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, la IPrintOemUni::EnablePDEV
DLL graphique d’imprimante d’Undrv appelle la méthode à partir de sa fonction DrvEnablePDEV .
La IPrintOemUni::EnablePDEV
méthode 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 IPrintOemUni::EnablePDEV
méthode .
Les structures pointées par les valeurs des paramètres phsurfPatterns, pGdiInfo et pDevInfo sont les mêmes que celles que reçoit la fonction DrvEnablePDEV d’Unidrv. 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 de type 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 gestion sont répertoriés dans la description de DrvEnablePDEV.
La structure DRVENABLEDATApointée vers 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 graphiques DDI. 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.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | prcomoem.h (inclure Prcomoem.h) |